c语言trim去掉不了空格怎么解决

973
2023/11/23 14:11:16
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C语言中,可以使用循环遍历字符串的每个字符,并判断是否为空格来实现去掉空格的操作。以下是一个示例代码:

#include <stdio.h>
#include <string.h>

void trim(char *str) {
    int len = strlen(str);
    int i = 0, j = 0;
    
    // 去掉字符串开头的空格
    while (str[i] == ' ') {
        i++;
    }
    
    // 移动非空格字符到字符串开头
    for (; i < len; i++) {
        str[j++] = str[i];
    }
    
    // 将剩余部分置为'\0'
    str[j] = '\0';
    
    // 去掉字符串末尾的空格
    len = strlen(str);
    while (str[len-1] == ' ') {
        str[--len] = '\0';
    }
}

int main() {
    char str[] = "  hello world     ";
    trim(str);
    printf("Trimmed string: '%s'\n", str);  // 输出:'hello world'
    
    return 0;
}

该代码首先通过一个循环去掉字符串开头的空格,然后使用另一个循环将非空格字符向字符串开头移动,最后通过在移动后的结束位置添加’\0’来截断字符串并去掉末尾的空格。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言中合法的常量如何判断