免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1429 | 回复: 7
打印 上一主题 下一主题

代码段有错误请指教??????? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-31 13:57 |只看该作者 |倒序浏览
FILE *fp1;
                        if ((fp1=fopen("c.txt","r"))==NULL)
                        {
                                cout<<"\nCould not open the file."<<endl;
                                cout<<"Exiting program."<<endl;
                                exit(1);
                        }
                        int stri=0;
                        char *ch;
                        char *strs;
                        while (!feof(fp1))  
                        {
                                if ((fgets(strs,256,fp1)) != NULL)
                                {
                                        if (strstr(strs,ch) != NULL)
                                        {
                                                int a;
                                                for (a=0;a<stri;a++)
                                                        cout << strdata[a];
                                                cout << "**************************";
                                                stri=0;
                                                strcpy(*strdata,"");
                                        }
                                        else
                                        {
                                                strdata[stri] = strs;
                                                stri++;
                                                //cout << strdata[stri-1] << stri ;
                                        }
                                }
                        }
                        fclose(fp1);

这段代码是一个查找文本文件代码中的一段,在这段中查找到要应的内容后就显示在数组strdata[]中存储的一段内容,但是这段代码用指针有错误,数组中全是最后读取的值,需要怎么修改才能完成呢?????

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
2 [报告]
发表于 2006-10-31 14:23 |只看该作者
strs不需要malloc吗?

论坛徽章:
0
3 [报告]
发表于 2006-10-31 16:26 |只看该作者
就算申请了内存空间也是一样的,问题是用指针形式赋值当指针改变了所有它曾赋过的值也改变了,
有什么办法能完成我要的功能,最好能给出相应的代码,THANKS

论坛徽章:
0
4 [报告]
发表于 2006-10-31 16:27 |只看该作者
就算申请了内存空间也是一样的,问题是用指针形式赋值当指针改变了所有它曾赋过的值也改变了,
有什么办法能完成我要的功能,最好能给出相应的代码,THANKS

论坛徽章:
0
5 [报告]
发表于 2006-11-01 15:21 |只看该作者
我知道这个问题只要让中间不用指针或者别的方法就应该能实现,可是试了几个方法都没有成功,难道真的很难吗?????

论坛徽章:
0
6 [报告]
发表于 2006-11-01 18:38 |只看该作者
用 gdb 调试一下可能你就知道啦

论坛徽章:
0
7 [报告]
发表于 2006-11-02 08:40 |只看该作者
我知道程序的错误在于中间指针变量传递给数组指针是变化的,所以数组中的值都是最后一次赋予的值,
现在我是找不到一个好的方法来解决这个问题,请指教一个好的方法

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2006-11-02 09:01 |只看该作者
原帖由 ssffzz1 于 2006-10-31 14:23 发表
strs不需要malloc吗?


char *strs;

光是一个指针而已.ssffzz1已经指出你的错误了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP