写一个C语言的类似java中对字符串trim的函数
时间: 2023-08-11 15:05:51 浏览: 51
好的,以下是一个简单的C语言函数实现,用于去除字符串的首尾空格:
```c
#include <stdio.h>
#include <ctype.h>
char* trim(char* str)
{
if (str == NULL)
return NULL;
char* start = str;
char* end = str + strlen(str) - 1;
while (isspace(*start))
start++;
while (isspace(*end))
end--;
*(end + 1) = '\0';
return start;
}
```
这个函数的思路是:从字符串的首尾开始遍历,如果遇到空格就跳过,直到遇到第一个非空格字符。然后从尾部开始遍历,同样跳过空格,直到遇到最后一个非空格字符。最后用一个空字符 '\0' 替换掉末尾的空格,返回去除空格后的字符串起始地址。
请注意,这个函数并没有在原始字符串上直接修改,而是返回了一个新的指针,指向去除空格后的字符串。因此,调用者需要自己负责释放掉返回的指针,避免造成内存泄漏。