c 字符串替换字符

Posted wangjian8888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 字符串替换字符相关的知识,希望对你有一定的参考价值。

使用完释放记得内存free(str),防止内存泄露

char * replace (const char *str, const char *src, const char *dst)
{
const char* pos = str;
int count = 0;
while ((pos = strstr (pos, src))) {
count ++;
pos += strlen(src);
}

size_t result_len = strlen(str) + (strlen(dst) - strlen(src)) * count + 1;
char *result = (char *)malloc(result_len);
memset (result, 0, result_len);

const char *left = str;
const char *right = NULL;

while ((right = strstr(left, src))) {
strncat (result, left, right - left);
strcat (result, dst);
right += strlen(src);
left = right;
}
strcat(result, left);
return result;
}

以上是关于c 字符串替换字符的主要内容,如果未能解决你的问题,请参考以下文章

C语言问题 字符(串)替换

C语言中如何用一个字符串替换一个主串中的子串

c语言如何替换字符串中的“&”符号?

C语言文件中字符串的查找与替换

一个字符串中替换多个字符怎么做

C语言编写字符替换程序。