指针删除字符串问题。
源字符串ABCDEFG指针p,删除字符串CDE,
已知指针问位置p,源字符串中C的位置指针与C到E的偏移量。
最终得到ABFG‘、0’
不用任何库函数,数组能实现这个需求吗?
[解决办法]
先组织一下语言把
[解决办法]
能,*p=*(p+偏移量+1)这样做下去。
[解决办法]
//将串s1中的子串s2替换成串s3char*replace(char*s1,char*s2,char*s3=NULL){ char *p,*from,*to,*begin=s1; int c1,c2,c3,c; //串长度及计数 c2=strlen(s2); c3=(s3!=NULL)?strlen(s3):0; if(c2==0)return s1; //注意要退出 while(true) //替换所有出现的串 { c1=strlen(begin); p=strstr(begin,s2); //出现位置 if(p==NULL) //没找到 return s1; if(c2>c3) //串往前移 { from=p+c2; to=p+c3; c=c1-c2+begin-p+1; while(c--) *to++=*from++; } else if(c2<c3) //串往后移 { from=begin+c1; to=from-c2+c3; c=from-p-c2+1; while(c--) *to--=*from--; } if(c3) //完成替换 { from=s3,to=p,c=c3; while(c--) *to++=*from++; } begin=p+c3; //新的查找位置 }}
[解决办法]
哎, 好语文老师.