#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *substring_replace(char *s, size_t size, char *substring, char *replace) {
char *substring_start = strstr(s, substring);
if (substring_start == NULL) {
return NULL;
}
if (size < strlen(s) + (strlen(replace) - strlen(substring))) {
printf("String size exceeded\n");
return NULL;
}
memmove(substring_start + strlen(replace),
substring_start + strlen(substring),
strlen(substring_start) - strlen(substring) + 1
);
memcpy(substring_start, replace, strlen(replace));
return substring_start + strlen(replace);
}
int main() {
char s[50] = "c c++ c# java python go java";
while(substring_replace(s, 50, "java", "php"));
puts(s);
return 0;
}
/*
run:
c c++ c# php python go php
*/