Tham khảo cái code sau đây với ngôn ngữ C, nếu là C++ thì trong class string có hàm replace đó.
Code:
int main(void)
{
char string[] = "exemple";
char *sub_1 = "e";
char *sub_2 = "ABC";
char *new_string;
char *ptr_1;
char *ptr_2;
char *ptr_3;
size_t length_1;
size_t length_2;
size_t count;
count = 0;
length_1 = strlen(sub_1);
length_2 = strlen(sub_2);
if (length_2 > length_1) {
ptr_1 = strstr(string, sub_1);
while (ptr_1 != NULL) {
++count;
ptr_1 = strstr(ptr_1 + 1, sub_1);
}
}
new_string = (char*)malloc(count * (length_2 - length_1) + strlen(string) + 1);
if (new_string == NULL) {
fputs("Bonus Nachos\n", stderr);
exit(EXIT_FAILURE);
}
ptr_1 = string;
ptr_2 = new_string;
ptr_3 = strstr(ptr_1, sub_1);
while (ptr_3 != NULL) {
while (ptr_1 != ptr_3) {
*ptr_2++ = *ptr_1++;
}
strcpy(ptr_2, sub_2);
ptr_1 += length_1;
ptr_2 += length_2;
ptr_3 = strstr(ptr_1, sub_1);
}
strcpy(ptr_2, ptr_1);
puts(new_string);
free(new_string);
return 0;
}