首页 > 代码库 > C 语言实现字符串替换
C 语言实现字符串替换
void replaceFirst(char *str1,char *str2,char *str3) { char str4[strlen(str1)+1]; char *p; strcpy(str4,str1); if((p=strstr(str1,str2))!=NULL)/*p指向str2在str1中第一次出现的位置*/ { while(str1!=p&&str1!=NULL)/*将str1指针移动到p的位置*/ { str1++; } str1[0]=‘\0‘;/*将str1指针指向的值变成/0,以此来截断str1,舍弃str2及以后的内容,只保留str2以前的内容*/ strcat(str1,str3);/*在str1后拼接上str3,组成新str1*/ strcat(str1,strstr(str4,str2)+strlen(str2));/*strstr(str4,str2)是指向str2及以后的内容(包括str2),strstr(str4,str2)+strlen(str2)就是将指针向前移动strlen(str2)位,跳过str2*/ } } /*将str1出现的所有的str2都替换为str3*/ void str_replace(char *str1,char *str2,char *str3) { //如果传入的参数 str2 和str3相同 直接退出 避免while死循环 if(!strcmp(str2,str3)){ return ; } while(strstr(str1,str2)!=NULL) { replaceFirst(str1,str2,str3); } }
C 语言实现字符串替换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。