读书人

指针删除字符串有关问题

发布时间: 2012-05-28 17:59:33 作者: rapoo

指针删除字符串问题。
源字符串ABCDEFG指针p,删除字符串CDE,
已知指针问位置p,源字符串中C的位置指针与C到E的偏移量。
最终得到ABFG‘、0’
不用任何库函数,数组能实现这个需求吗?

[解决办法]
先组织一下语言把
[解决办法]
能,*p=*(p+偏移量+1)这样做下去。
[解决办法]

C/C++ code
//将串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;         //新的查找位置    }}
[解决办法]
哎, 好语文老师.

读书人网 >C语言

热点推荐