C 语言实现字符串替换
Posted 你且浅笑相安
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 语言实现字符串替换的主要内容,如果未能解决你的问题,请参考以下文章