void replace(char *to, const char *from, const char *src, const char *dest)
{
size_t len = strlen(src);
do {
if (strncmp(from, src, len) == 0) {
from = from + len - 1;
for(; (*to = *dest) != '\0'; to++, dest++);
} else {
*to++ = *from;
}
} while (*from++ != '\0');
}
int main(int argc, char *argv[])
{
char result[MAXLINE];
replace(result, argv[1], argv[2], argv[3]);
printf("result = %s\n", result);
return 0;
}
运行结果如下:
cheny@cheny-laptop:~/string$ ./replace mynameischeny name love
result = myloveischeny
替换字符串里面的指定字符串,这个也很常见,写的不好的请大家指正,谢谢!