C言語で文字列中の空白を削除する方法。

文字列から空白を削除するには、次の2つの方法があります:

方法1:文字列をループして、スペース以外の文字を新しい文字列にコピーする。

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

void removeSpaces(char *str) {
    int i, j;
    for (i = 0, j = 0; str[i]; i++) {
        if (str[i] != ' ') {
            str[j++] = str[i];
        }
    }
    str[j] = '\0'; // 在新字符串的末尾添加结束符
}

int main() {
    char str[100];
    printf("输入字符串:");
    gets(str);
    removeSpaces(str);
    printf("删除空格后的字符串:%s\n", str);
    return 0;
}

2つ目の方法:ポインター操作を使用して、元の文字列内で空白を直接削除する。

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

void removeSpaces(char *str) {
    char *p = str;
    while (*str) {
        if (*str != ' ') {
            *p++ = *str;
        }
        str++;
    }
    *p = '\0'; // 在新字符串的末尾添加结束符
}

int main() {
    char str[100];
    printf("输入字符串:");
    gets(str);
    removeSpaces(str);
    printf("删除空格后的字符串:%s\n", str);
    return 0;
}

個人の好みや具体的な要件によって、文字列からスペースを削除する方法を選択することができます。

bannerAds