Replacing one string with other in C
I have a string
{"status":true}
I want to replace &开发者_开发问答quot
with "
. I tried several string operations, but they're not working.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *replace (char *this, char *withthat, char *inthis) {
char *where = inthis;
if(strlen(withthat)>strlen(this)) {
fprintf(stderr, "replace can only shrink\n");
exit(EXIT_FAILURE);
}
while ((where = strstr(where, this))) {
memcpy(where, withthat, strlen(withthat));
memmove(where+strlen(withthat),where+strlen(this), strlen(where+strlen(this))+1);
}
return inthis;
}
int main(void) {
char string[] = "{"status":true}";
printf("%s\n", replace(""", "\"", string));
return 0;
}
Output:
{"status":true}
精彩评论