C++ 去掉字符串首尾的 \x20 \r \n 字符

转载:http://www.sharejs.com/codes/cpp/5780

 /*
去掉字符串首尾的 \x20 \r \n 字符
by sincoder
*/
void clean_string(char *str)
{
char *start = str - ;
char *end = str;
char *p = str;
while(*p)
{
switch(*p)
{
case ' ':
case '\r':
case '\n':
{
if(start + ==p)
start = p;
}
break;
default:
break;
}
++p;
}
//现在来到了字符串的尾部 反向向前
--p;
++start;
if(*start == )
{
//已经到字符串的末尾了
*str = ;
return;
}
end = p + ;
while(p > start)
{
switch(*p)
{
case ' ':
case '\r':
case '\n':
{
if(end - == p)
end = p;
}
break;
default:
break;
}
--p;
}
memmove(str,start,end-start);
*(str + (int)end - (int)start) = ;
} //该代码片段来自于: http://www.sharejs.com/codes/cpp/5780
上一篇:Linux驱动之I2C总线设备以及驱动


下一篇:单机千万级MQTT连接服务器测试报告