在C语言中,可以使用以下方法清空字符串的前后空白字符:
下面是一个示例代码:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char* trim(char* str) {
size_t len = strlen(str);
size_t start = 0, end = len - 1;
// 从开头找到第一个非空白字符的位置
while (isspace(str[start])) {
start++;
}
// 从末尾找到第一个非空白字符的位置
while (end > start && isspace(str[end])) {
end--;
}
// 截取子字符串
memmove(str, str + start, end - start + 1);
str[end - start + 1] = '\0';
return str;
}
int main() {
char str[] = " hello world ";
printf("Before: '%s'\n", str);
printf("After: '%s'\n", trim(str));
return 0;
}
运行结果如下:
Before: ' hello world '
After: 'hello world'