C语言比较两个txt文件是否一样!

下面是我的代码!#include<stdio.h>intmain(){FILE*f1,*f2;charch1,ch2;if(((f1=fopen("D:\\C语言\\1.... 下面是我的代码!
#include<stdio.h>
int main()
{
FILE *f1,*f2;
char ch1,ch2;
if(((f1=fopen("D:\\C语言\\1.txt","r"))==0)&&((f2=fopen("D:\\C语言\\2.txt","r"))==0))
{
printf("文件不存在!!!\n");
exit(0);
}
do
{
ch1=fgetc(f1);
ch2=fgetc(f2);
if(ch1!=ch2)
{
printf("文件不一样!\n") ;
exit(0);
}
}while(ch1!=EOF||ch2!=EOF);
printf("文件一样!\n");
}
在c-free,vc6,code::blocks中,win7系统下出现下面情况!
该怎么改代码呢?
展开
 我来答
郝在益
2012-03-12 · TA获得超过2079个赞
知道小有建树答主
回答量:1496
采纳率:54%
帮助的人:631万
展开全部
第一,你的第一个if语句里应该使用||而不是&&,第二,字符串比较不是直接比较的。要借助函数strcmp(str1,str2),如果一样就等于0
追问
你改的都对!但还是不能解决当文件一样时,程序不能运行!
A极B光
2012-03-12 · TA获得超过296个赞
知道小有建树答主
回答量:593
采纳率:33%
帮助的人:191万
展开全部

我在win7的vs2010上运行了你给的程序,发现没什么大问题,只是"exit"未定义,截图如下

追问
你肯定是没有那两个文件,如果有那两个一样的文件就会出现那样的情况!对了“郝在益”说的是对的,把那地方修改一下再运行看看!(要验证1.txt和2.txt都一样的情况)
追答
我把楼下的方法测试了一下,发现是可以运行的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LuckyWolfWzt
2012-03-12 · TA获得超过313个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:179万
展开全部
while(ch1!=EOF||ch2!=EOF);改为while(ch1!=EOF&&ch2!=EOF);
追问
这地方不应该修改!应为如果一个文件到了结尾而另一个文件还没结尾就可以认为他们不一样了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闪电山
2012-03-13 · 超过25用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:72.9万
展开全部
循环之前加上else
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式