C的Trim()函数
编号2185:
如果字符串为空则会出错,在begin指针移动之后,判断是否到达end位置
在C++builder(xe5)中远离恼人的W8123 warning警告
kollen:
解决了,感谢
C的Trim()函数
picksan:
[code=csharp]
void Trim( char *src)
{
char *begin = src;
char *end = src;
//找到字符串末尾
while ( *end != '\0' ) {
++end;
}
//说明字符串是空,直接返回
if ( begin == end ) return;
//第一个非空字符或者字符串末尾
while ( *begin == ' ' || *begin == '\t' || *begin == '\n'){
++begin;
}
//如果begin到了末尾,说明字符串全是空白字符,直接返回
if ( begin == end ){
*src = '\0';
return;
}
//begin找到了非空白字符,而且不是末尾
//end移动到最后一个非空字符
while ( *end == '\0' || *end == ' ' || *end == '\t' || *end == '\n'){
--end;
}
//此时,begin 带有'\0'的C-String
** 输出参数: char *src ---> 格式化后(去除首尾两端Blank的字符) 这本身就是一个巨大的BUG,不能输出也用src,不能这样
|