| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 878 人关注过本帖
标题:删除字符窜中特定字符窜的函数
只看楼主 加入收藏
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
删除字符窜中特定字符窜的函数
#include<stdio.h>
int del_substr(char *str,char *substr);
void main()
{
    char *p="abfsdstrsf";
    char *q="str";
    del_substr(p,q);   
    for(;*p;p++)
        printf("%c",*p);
    printf("\n");

}
int del_substr(char *str,char *substr)
{
    char* head=substr;
    char* end;            //标记源字符窜中紧接着目标字符窜的最后一位置
    int flag=0;
    while(*str++&&*head)
    {
        for(head=substr;*head;head++,str++)
        {
            if(*head==*(str-1))
            {
                flag=1;
                end=str-1;
                continue;
            }
            else
            {
                flag=0;
                break;
            }
        }
    }
    if(!flag)
        return 0;
    else
    {
        str=end+1;
        while(*substr++)        //让str指向和substr相同的第一个字符的位置
            str--;
        while(*str=*end++)        //断点时到这就出错了
        *str='\0';
        return 1;
    }
}


出错:内存不能为written,想知道哪里错了。
搜索更多相关主题的帖子: 函数 字符 删除 
2010-12-05 21:15
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
来个人给看看呗
2010-12-05 21:31
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
别落下去啊,落下去就没人看了。。。
大家给找找错吧
2010-12-05 22:35
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
再顶一下,希望明天看时有人解答了。。。
2010-12-05 23:15
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
来个人给看看行不行。。。。
2010-12-06 12:39
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:10 
我看了呀 想问什么问题?

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-12-06 12:42
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:10 
while(*str=*end++)  
这个地方为什么用赋值?我试了下如果改成==就没问题,没有仔细研究你的代码不知道这样改后满不满足你的要求
2010-12-06 17:29
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
回复 7楼 小J
功能是删除字符窜,前面是看源字符窜中有没有目标字符窜,没有返回零,有则返回1并删除,再把后面的字符补上来
2010-12-06 18:45
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
回复 6楼 vandychan
实现不了想要的功能,函数的功能是删除字符窜,先判断元字符窜中是否含有目标字符窜,若没有返回零;若有返回1并删除(即将源字符窜中和目标字符窜相同的 后面的字符 覆盖在 前面和目标字符窜相同 的字符窜上)
2010-12-06 18:50
xingchi523
Rank: 2
等 级:论坛游民
帖 子:34
专家分:11
注 册:2010-11-6
收藏
得分:0 
给找找错,或者给个有这个功能的函数学习一下也行啊
2010-12-06 20:04
快速回复:删除字符窜中特定字符窜的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025022 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved