c语言实现php的trim标签

时间:2021-05-20

清除字符串开头结尾除空白
修改原字符串
不能清除全角字符

/* * 清除字符串开始结尾处的空白 * 修改原字符串 * */static char* trim(char*str){ char* p1 = str,*p2 = NULL,*p3 = NULL; int flag = 0; while(*(p1) != '\0'){ if(isspace(*p1)){ if(p3 == NULL) p3 = p2 == NULL?p1:p2;//标记结尾空白 if(0 == flag) {//标记开头为空白 flag = 1; p2 = p1; }else if(2 == flag){//中间空白 *(p2++) = *p1; } }else { if(1 == flag || flag == 2){//开头空白结束标志 *(p2++) = *p1; flag = 2; }else flag = -1;//开头无空白 p3 = NULL;//清除结尾空白 } p1++; } //标记结尾 if(p3 != NULL) *p3 = '\0'; else if(p2 != NULL) *p2 = '\0'; return str;}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章