C语言怎么清空前后空字符串

avatar
作者
筋斗云
阅读量:2

在C语言中,可以使用以下方法清空字符串的前后空白字符:

  1. 使用isspace()函数判断字符是否为空白字符,可以处理空格、制表符、换行符等空白字符。
  2. 从字符串的开头开始,遍历字符,直到遇到第一个非空白字符,记录其位置。
  3. 从字符串的末尾开始,遍历字符,直到遇到第一个非空白字符,记录其位置。
  4. 根据记录的位置,将字符串截取为新的子字符串,即可得到清空前后空白字符的字符串。

下面是一个示例代码:

#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' 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!