- //*********************************************************************************
- //【功能】在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。
- //【输入】 ch1 与sub:输入的被操作字符串
- // ch2 与 sub_string:需要查找并删除的特定子字符串
- //【输出】 ch3 与result_string:在出字符串中删除所有sub_str子字符串后的结果
- //【示例】输入:ch1 = "abcabcabc" ch2 = "bc"
- // 输出:ch3 = "aaa"
- //
- //********************************************************************************
#include <stdio.h> #include <string.h> #include <ctype.h> #define N 105 void delete_string(const char* sub,const char* sub_string,char* reselt_string); char ch1[N],ch2[N],ch3[N] = {0}; int main() { gets(ch1);gets(ch2); delete_string(ch1,ch2,ch3); printf("%s\n",ch3); return 0; } void delete_string(const char *sub,const char *sub_string,char *result_string) { int leng = strlen(sub_string); const char *p1,*p2; const char *temp; int i = 0; p1 = sub; p2 = sub_string; while(*sub) { if(*sub == *sub_string) { temp = sub; while((*sub_string) && (*sub++) == (*sub_string++)) i++; if(i!=leng) for(int j=0;j<i;j++) *result_string++ = *(temp + j); sub_string = p2; i=0; } else{ *result_string++ = *sub++; } } return ; }
删除字符串中的特定子串
最新推荐文章于 2019-07-29 12:33:06 发布