int strrpc(char *str, char *oldstr, char *newstr, int len)
{
char *bstr = (char *)malloc(len); //转换缓冲区
memset(bstr, 0, len);
int i = 0;
for (i = 0; i < strlen(str); i++)
{
if (!strncmp(str + i, oldstr, strlen(oldstr)))
{ //查找目标字符串
strcat(bstr, newstr);
i += strlen(oldstr) - 1;
}
else
{
strncat(bstr, str + i, 1); //保存一字节进缓冲区
}
}
memset(str, 0, len);
strcpy(str, bstr);
free(bstr);
bstr = NULL;
return 0;
}
用法:
strrpc(fpbuf, "频点数", "freq_num", mylen);
将fpbuf中的 频点数 替换为 freq_num,缓冲区fpbuf的长度未mylen