阅读量:2
在C语言中,可以使用以下方法清空字符串的前后空白字符:
- 使用isspace()函数判断字符是否为空白字符,可以处理空格、制表符、换行符等空白字符。
- 从字符串的开头开始,遍历字符,直到遇到第一个非空白字符,记录其位置。
- 从字符串的末尾开始,遍历字符,直到遇到第一个非空白字符,记录其位置。
- 根据记录的位置,将字符串截取为新的子字符串,即可得到清空前后空白字符的字符串。
下面是一个示例代码:
#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'