用c替换另一部分字符串的最佳方法?

可能重复:
如何在c中替换substring?

我试图寻找一个更好的解决方案来解决这个问题。 有可用的代码,但都适用于C ++。 不要忘记这在Java中非常简单和基本。 我想在C中找到一个很好的最佳解决方案

任何帮助将不胜感激! 谢谢!

在谷歌上找到简单的解决方案: http : //www.linuxquestions.org/questions/programming-9/replace-a-substring-with-another-string-in-c-170076/

编辑:考虑到您的规范,我编辑了以下链接中的代码:

char *replace_str(char *str, char *orig, char *rep, int start) { static char temp[4096]; static char buffer[4096]; char *p; strcpy(temp, str + start); if(!(p = strstr(temp, orig))) // Is 'orig' even in 'temp'? return temp; strncpy(buffer, temp, p-temp); // Copy characters from 'temp' start to 'orig' str buffer[p-temp] = '\0'; sprintf(buffer + (p - temp), "%s%s", rep, p + strlen(orig)); sprintf(str + start, "%s", buffer); return str; }