char *strreplace(char *src, const char *matchstr, const char*replacestr)
{
if(src == null || matchstr == null || replacestr == null)
return -1;
int str_len = 0;
char new_string[256] = {0};
char *find_pos = strstr(src, matchstr);
if(!find_pos || !matchstr)
return -1;
while(find_pos) {
memset(new_string , 0, sizeof(new_string));
str_len = find_pos - src;
strncpy( new_string, src, str_len);
strcat (new_string, replacestr);
strcat( new_string, find_pos + strlen(matchstr));
strcpy(src, new_string);
src(strlen(new_string)] = '\0';
find_pos = strstr(src, matchstr);
}
return 0;
}
该函数的缺点就是new_string可能越界。。动态分配较好,但是也较麻烦。