Chinaunix首页 | 论坛 | 博客
  • 博客访问: 126574
  • 博文数量: 36
  • 博客积分: 94
  • 博客等级: 民兵
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-23 17:34
文章分类
文章存档

2015年(1)

2013年(7)

2012年(3)

2011年(25)

分类: C/C++

2013-01-24 15:58:48

    在C的标准函数库里没有去除空白字符的函数,但是实际使用中经常需要去掉字符串首尾的空白字符。尤其是在通讯报文处理,数据库域值处理等,因此,我们自己可以封装一个用户自己的库函数。

char *TStrTrim( char *str )
{
        char *p = str;
        char *q = str;

        while( *q++ ); q -= 2;
        while( p <= q && isspace(*q) ) q--;
        while( p <= q && isspace(*p) ) p++;
        while( p <= q ) *str++ = *p++;

        *str = '\\0';

        return str;
}

    说明:isspace是一个判断是否为空白字符的宏,在“ctype.h”头文件中。另外此函数去除空白字符后,也可以返回字符串的长度。个人觉得这个也蛮实用的,正常情况我们不光光是为了去除空白字符,而是要判断处理后的字符长度是否大于零。

    返回去除空白字符后的字符串长度:

  1. 修改第一行的函数返回类型为“int”
  2. 修改第十三行语句为“return (strlen(str));”
阅读(3013) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~