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

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

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


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


#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<data_end; data_start++)
    {
        if (LINE_VALID_CHAR(pText, data_start))
        {
            break;
        }
    }
    int data_len = data_end-data_start+1;
    if (data_len == 0)
    {
        pData[0] = 0;
        return false;
    }
    if (data_start > 0 || data_end < (src_len-1))
    {
        strncpy(pData, pText+data_start, data_len);
        pData[data_len] = 0;
    }
    return true;
}

 

目录
相关文章
|
2月前
实现一个函数可以左旋字符串中的k个字符包学会!(两种办法)
实现一个函数可以左旋字符串中的k个字符包学会!(两种办法)
19 1
|
7月前
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
|
Python
LeetCode 1941. 检查是否所有字符出现次数相同
给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false 。
67 0
C/C++编程题之删除字符串中出现次数最少的字符
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
关于VS2017调试时,字符数组显示"字符串中的字符无效"问题
关于VS2017调试时,字符数组显示"字符串中的字符无效"问题
615 0
去掉多余的空格---输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。输入格式
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。 输入格式 共一行,包含一个字符串。 输出格式 输出去掉多余空格后的字符串,占一行。 数据范围 输入字符串的长度不超过 200200。 保证输入字符串的开头和结尾没有空格。
254 0
C代码:清理一行字串前后的无效字符
C代码:清理一行字串前后的无效字符
57 0
|
Web App开发 索引
在字符串S1中删除字符串S2中所包含的字符【转】
转自:http://www.cnblogs.com/tolimit/p/4202959.html /************************************************************************* > File Name: test.
1041 0

热门文章

最新文章