您的位置:首页 > 编程语言 > C语言/C++

字符串替换str_replace(自己理解实现)

2016-12-13 00:00 316 查看
/**
* 字符串替换函数
*/
char *str_replace(const char *search, const char *replace, char *string)
{
char *stringbak = (char *)malloc(strlen(string) + 1);
char *res = (char *)malloc(sizeof(char) * 1000 + strlen(string));
char *p;
memset(res, '\0', strlen(res));
strcpy(stringbak, string);
while ((p = strstr(stringbak, search)) != NULL)
{
/** 开始将检索到的内容之前的copy到res*/
strncat(res, stringbak, (p - stringbak));
strncat(res, replace, strlen(replace));
/** 移动下stringbak的指针 */
stringbak = p + strlen(search);
}
/** 最后将stringbak最后一截连接到res */
strncat(res, stringbak, strlen(stringbak));
free(stringbak);
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言