随笔 - 1,  文章 - 0,  评论 - 0,  阅读 - 163
复制代码
注意:字符串长度可自行定义;可以增加字符串长度判断,防止溢出。
// 方法一 int replace(char *src,char *old,char *new) { char buff[2048]; //转换缓冲区 memset(buff,0,sizeof(buff)); for(int i = 0;i < strlen(src);i++){ //查找目标字符串 if( !strncmp( src+i , old , strlen(old) ) ){ // 比对old成功,将new放入buff中 strcat(buff,new); // 跳过old字符串 i += strlen(old) - 1; }else{ // 将未比对成功的存在buff中 strncat(buff,src + i,1); } } // 将buff赋值给src strcpy(src,buff); return 0; } // 方法二 int replace(char *src,char *old,char *new) { char *p = NULL; int len = 0; char newstr[2048] = {0};   // 查找src中old的位置 p = strstr(src,old); while(p){ // 循环查找old,直至查询不到 memset(newstr,0x0,sizeof(newstr));      // src首位到old位置的长度 len = p - src;      // 将old前面的字符串复制到newstr中 strncpy(newstr,src,len); // 将new拼接到newstr中 strcat(newstr,new); // 将old后面的字符串复制到newstr中 strcat(newstr,p+strlen(old)); // 将newstr赋值给src strcpy(src,newstr); // 再次查找src中old的位置 p = strstr(src,old); } return 0; }
复制代码

 

posted on   ConfusedLamb  阅读(163)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示