您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C代码:清理一行字串前后的无效字符

柳鲲鹏 发布时间:2019-03-04 11:57:53 ,浏览量:0

  这个代码就记录在此。道理很简单,就是处理起来略微麻烦。

  代码经过测试,运行正常。各种情形应该都考虑到了。

#define LINE_VALID_CHAR(pBuffer,nStart) (pBuffer[nStart] != ' ' && pBuffer[nStart] != '\r' && pBuffer[nStart] != '\n')


bool trim(char* pText)
{
    return trim2(pText, NULL);
}

/**
True:当前行有值。
False:当前行无值。
 */
bool trim2(char* pText, char* pNew)
{
    int src_len = strlen(pText);
    if (src_len == 0)
    {
        return false;
    }

    char* pData = (pNew != NULL ? pNew : pText);
    int data_end = 0;
    for (data_end=src_len-1; data_end>=0; data_end--)
    {
        if (LINE_VALID_CHAR(pText, data_end))
        {
            break;
        }
    }
    //全部是无效值
    if (data_end < 0)
    {
        pData[0] = 0;
        return false;
    }

    int data_start = 0;
    for (data_start=0; data_start 0 || data_end < (src_len-1))
    {
        strncpy(pData, pText+data_start, data_len);
        pData[data_len] = 0;
    }
    return true;
}

 

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0554s