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

   2025-02-13 2840
核心提示:在C语言中,可以使用以下方法清空字符串的前后空白字符:使用isspace()函数判断字符是否为空白字符,可以处理空格、制表符

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

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言