本文共 950 字,大约阅读时间需要 3 分钟。
**```
#if 1 #include “stdio.h” #include “conio.h” #include “string.h” #include <stdlib.h> void main() { int delSubStr(char * src,char * sub,char * result); char *srcstr = “abcdefgde”; char *subp = “de”; char resp[100]; int count; count = delSubStr(srcstr, subp, resp); printf(“删除的子串的个数: %d\n”, count); printf(“原来的字符串 : %s\n”, srcstr); printf(“删除后的字符串:: %s\n”, resp); } /删除字串函数,在src中删除sub子串,并将结果保存在result字符串中/ int delSubStr(char * src,char * sub,char * result) { char *src_p = src; char *sub_p = sub; char *res_p = result; int count = 0; //记录包含子串的个数 int sub_len = strlen(sub); //记录子串的长度 char temp; //临时保存子串的副本 temp = (char)malloc(sub_len + 1); memset(temp,’\0’,sub_len+1); while (*src_p) { memcpy(temp,src_p, sub_len); //内存操作,将src_p的前len个字符存到temp指向的起始地址中 //printf(“temp–sub:%s–%s:\n”, temp,sub_p); /原串中包含与sub完全匹配的子串/ if( !strcmp(temp, sub_p) ) { count++; src_p+=sub_len; }else { *res_p++ = *src_p++; } } *res_p=’\0’; free(temp); return count; }#endif
转载地址:http://rbtgf.baihongyu.com/