优云优客百度推广效果怎么样,网站建设优化服务方案,网站 带后台,我想找阿里巴巴做网站推广描述#xff1a;编写一个字符串替换函数#xff0c;如函数名为 StrReplace(char* strSrc, char* strFind, char* strReplace)#xff0c;strSrc为原字符串#xff0c;strFind是待替换的字符串#xff0c;strReplace为替换字符串。举个直观的例子吧#xff0c;如#xff…描述编写一个字符串替换函数如函数名为 StrReplace(char* strSrc, char* strFind, char* strReplace)strSrc为原字符串strFind是待替换的字符串strReplace为替换字符串。举个直观的例子吧如“ABCDEFGHIJKLMNOPQRSTUVWXYZ”这个字符串把其中的“RST”替换为“ggg”这个字符串结果就变成了ABCDEFGHIJKLMNOPQgggUVWXYZ网上找到的答案void StrReplace(char* strSrc, char*strFind, char* strReplace) { while(*strSrc! \0) { if(*strSrc *strFind) { if(strncmp(strSrc,strFind,strlen(strFind)) 0 ) { inti strlen(strFind); intj strlen(strReplace); printf(i %d,j %d\n,i,j); char *q strSrc i; printf(*q %s\n,q); while((*strSrc *strReplace) ! \0); printf(strSrc- 1 %s\n,strSrc - 1); printf(*q %s\n,q); while((*strSrc *q) ! \0); } else { strSrc; } } else { strSrc; } } }但是此程序不能处理strFind与strReplace不等长的情况。因此根据以上程序给出修改代码如下void StrReplaceB(char* strSrc, char* strFind, char* strReplace) { while (*strSrc ! \0) { if (*strSrc *strFind) { if (strncmp(strSrc, strFind, strlen(strFind)) 0) { int i strlen(strFind); int j strlen(strReplace); char* q strSrci; char* p q;//p、q均指向剩余字符串的首地址 char* repl strReplace; int lastLen 0; while (*q ! \0) lastLen; char* temp new char[lastLen1];//临时开辟一段内存保存剩下的字符串,防止内存覆盖 for (int k 0; k lastLen; k) { *(tempk) *(pk); } *(templastLen) \0; while (*repl ! \0) { *strSrc *repl; } p strSrc; char* pTemp temp;//回收动态开辟内存 while (*pTemp ! \0) { *p *pTemp; } delete temp; *p \0; } else strSrc; } else strSrc; } }测试“ABCDEFGHIJKLMNOPQRSTUVWXYZ”这个字符串把其中的“RST”替换为“gggg”这个字符串结果就变成了ABCDEFGHIJKLMNOPQggggUVWXYZ2. “ABCDEFGHIJKLMNOPQRSTUVWRSTXYZ”这个字符串把其中的“RST”替换为“gggg”这个字符串结果就变成了ABCDEFGHIJKLMNOPQggggUVWggggXYZ