答:
/***function:最终替换生成的字符串保存到result中******/
void sub_str_replace(char *str1, const char *str2, const char *str3, char *result)
{
char * tmp = str1;
//开始查找字符串str2 ,返回第一次出现的位置
const char *cp = NULL;
while((cp = my_strstr(tmp, str2)) != NULL)//每找到一个str2,就用str3来替换
{
my_strncpy(result, tmp, cp - tmp);
result[cp - tmp] = '\0';
my_strcat(result, str3);//把str3所指向的字符串(包括“\0”)复制到result所指向的字符串后面(删除*dest原来末尾的“\0”)。
my_strcat(result, cp + my_strlen(str2));//把cp中str2后面的字符串放到result后
my_strcpy(tmp, result);
}
my_strcpy(result, tmp);
}