修剪C中的字符串是指从字符串的开头和结尾删除空格、制表符和其他空白字符。在C语言中,可以使用标准库函数strspn
和strcspn
来实现字符串的修剪。
以下是一个示例代码,演示如何使用strspn
和strcspn
函数修剪C中的字符串:
#include<stdio.h>
#include<string.h>
#include <ctype.h>
char *trim(char *str) {
int start = strspn(str, " \t\n\r\f\v"); // 计算开头空白字符的数量
int end = strlen(str) - 1;
while (end >= 0 && isspace(str[end])) { // 计算结尾空白字符的数量
end--;
}
str[end+1] = '\0'; // 添加字符串结束符
return str + start; // 返回修剪后的字符串
}
int main() {
char str[] = " \t\n Hello, world! \t\n ";
printf("Original string: %s\n", str);
printf("Trimmed string: %s\n", trim(str));
return 0;
}
输出:
Original string:
Hello, world!
Trimmed string: Hello, world!
在这个示例中,trim
函数接受一个字符串作为参数,并返回修剪后的字符串。strspn
函数用于计算开头空白字符的数量,strcspn
函数用于计算结尾空白字符的数量。最后,将结尾空白字符替换为字符串结束符,并返回修剪后的字符串。
领取专属 10元无门槛券
手把手带您无忧上云