在C的标准函数库里没有去除空白字符的函数,但是实际使用中经常需要去掉字符串首尾的空白字符。尤其是在通讯报文处理,数据库域值处理等。
[cpp] view plaincopy
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;
}//Www.sctarena.com
说明:isspace是一个判断是否为空白字符的宏,在“ctype.h”头文件中。另外此函数去除空白字符后,也可以返回字符串的长度。个人觉得这个也蛮实用的,正常情况我们不光光是为了去除空白字符,而是要判断处理后的字符长度是否大于零。
返回去除空白字符后的字符串长度:
修改第一行的函数返回类型为“int”
修改第十三行语句为“return (strlen(str));”