首页 > 编程 > C > 正文

c语言实现php的trim标签

2020-01-26 14:46:21
字体:
来源:转载
供稿:网友

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

/* * 清除字符串开始结尾处的空白 * 修改原字符串 * */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;}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选