C言語:文字列から特定文字を削除する方法【サンプルコード付】

C言語で文字列中の特定の文字を削除するには、文字列処理関数を使用することができます。一般的な方法は、strcpy()関数を使用して削除したい文字の後の部分を元の文字列の位置にコピーし、削除したい文字を上書きすることです。

以下は、特定の文字を文字列から削除するためのサンプルコードです。

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

void deleteChar(char *str, char c) {
    int i, j;
    for (i = 0, j = 0; str[i] != '\0'; i++) {
        if (str[i] != c) {
            str[j++] = str[i];
        }
    }
    str[j] = '\0';
}

int main() {
    char str[] = "Hello, World!";
    char c = 'o';
    
    printf("Original string: %s\n", str);
    
    deleteChar(str, c);
    
    printf("String after deleting '%c': %s\n", c, str);
    
    return 0;
}

上記のコードでは、deleteChar()関数は文字列と削除する文字を引数として受け取り、文字列を走査して、削除する文字と一致しない文字を元の文字列の位置にコピーします。最後に、新しい文字列の終わりを示すために文字列終端文字’\0’を追加します。

上記のコードを実行すると、次のように出力されます:

Original string: Hello, World!
String after deleting 'o': Hell, Wrld!
bannerAds