c语言中,请写一个可以自动去除字符串两端空格的代码
时间: 2023-12-11 18:05:42 浏览: 29
以下是一个可以自动去除字符串两端空格的C语言代码:
```c
#include <stdio.h>
#include <string.h>
char* trim(char* str) {
int len = strlen(str);
int start = 0, end = len - 1;
while (start < len && str[start] == ' ') {
start++;
}
while (end >= 0 && str[end] == ' ') {
end--;
}
str[end + 1] = '\0';
return &str[start];
}
int main() {
char str[] = " Hello, World! ";
char* trimmed = trim(str);
printf("Original string: \"%s\"\n", str);
printf("Trimmed string: \"%s\"\n", trimmed);
return 0;
}
```
在这个代码中,`trim`函数接收一个字符串指针,并返回这个字符串去除两端空格后的指针。该函数通过两个while循环分别找到字符串的开始和结束位置,然后将结束位置后面的字符替换为字符串结束符`\0`,最后返回开始位置的指针即可。
在`main`函数中,我们首先定义了一个带有两端空格的字符串,然后调用`trim`函数去除空格并打印结果。输出如下:
```
Original string: " Hello, World! "
Trimmed string: "Hello, World!"
```