static char* strtrim(char* in) { char* ps = in; char* pe = in + strlen(in) - 1; while (*ps && (unsigned char)*ps <= 32) { ps++; } while (ps <= pe && (unsigned char)*pe <= 32) { pe--; } *(pe + 1) = '\0'; strcpy(in, ps); return in; }
时间: 2024-04-28 07:26:22 浏览: 7
这段代码是用来去除字符串两端的空格或空白字符的函数。它首先找到字符串开头和结尾的非空格或非空白字符的位置,然后把中间的部分复制到原始字符串的首部,最后在末尾添加一个字符串结束符 '\0'。最后返回的是修改后的原始字符串的指针。
需要注意的是,该函数会直接修改原始字符串。如果需要保留原始字符串,应该先复制一份再进行操作。另外,该函数只能去除两端的空格或空白字符,不能去除字符串中间的空格或空白字符。