服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - c语言实现php的trim标签

c语言实现php的trim标签

2021-03-19 14:00C语言教程网 C/C++

本文给大家介绍的是使用C语言实现php的trim标签功能的代码,非常的实用,其主要作用是清除字符串开头结尾除空白,有需要的小伙伴可以参考下。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
 * 清除字符串开始结尾处的空白
 * 修改原字符串
 * */
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;
}

延伸 · 阅读

精彩推荐