C言語 文字列置換:部分文字列を効率良く置換する方法
C言語では、strstr()関数とstrcpy()関数を使用して、文字列内の部分文字列を置換することができます。具体的な手順は以下の通りです。
- strstr()関数
 - 新しい文字列に、先頭部分のサブストリングをコピーします。
 - 新しいサブストリングをコピーして新しい文字列に置き換えます。
 - 新しい文字列に対して、元のサブストリングの後ろの部分をコピーしてください。
 - strcpy()関数
 
以下は、文字列内のサブ文字列を置換するためのサンプルコードです。
#include <stdio.h>
#include <string.h>
void replaceSubstring(char *original, char *substring, char *replacement) {
    char newString[1000];
    char *ptr;
    strcpy(newString, original);
    
    while ((ptr = strstr(newString, substring))) {
        strcpy(ptr, replacement);
        strcpy(ptr + strlen(replacement), ptr + strlen(substring));
    }
    
    strcpy(original, newString);
}
int main() {
    char str[1000] = "hello world";
    
    printf("Original string: %s\n", str);
    
    replaceSubstring(str, "world", "everyone");
    
    printf("Updated string: %s\n", str);
    
    return 0;
}
この例では、文字列内のサブストリングを置き換えるreplaceSubstring()関数を定義しています。main()関数では、最初に元の文字列を出力し、次にreplaceSubstring()関数を呼び出して”world”を”everyone”に置き換え、最後に更新された文字列を出力します。