#include #include char *StringReplace(char *buf, char *befor, char *after) { char *buffer; size_t beforlen, afterlen; beforlen = strlen(befor); afterlen = strlen(after); if (beforlen == 0 || (buffer = strstr(buf, befor)) == NULL) return 0; memmove(buffer + afterlen, buffer + beforlen, strlen(buf) - (buffer + beforlen - buf) + 1); memcpy(buffer, after, afterlen); return buffer; } int main(void) { char buf[100]; char befor[100]; char after[100]; printf("文字列を入力してください。"); scanf("%s", buf); printf("置換対象の文字列を入力してください。"); scanf("%s", befor); printf("置換したい文字列を入力してください。"); scanf("%s", after); StringReplace(buf, befor, after); printf("置換後の文字列は:%sです。", buf); return 0; }