3个回答
2009-06-28
展开全部
本不想来啰嗦,但楼上的程序的确有缺陷。
如果两个文件长度不同,上面的程序就会得出错误结果。比如头一个文件内容为:abcde第二个文件内容为:abcdefg会得出错误结果。
程序改写如下,已编译通过:
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE * f1 = fopen("dd.txt","r");/* 改为实际文件名 */
FILE * f2 = fopen("bb.txt","r");
char c1 = fgetc(f1);
char c2 = fgetc(f2);
while(!feof(f1) && !feof(f2)){
if(c1 != c2){printf("NO");system("pause");return 0;}
c1 = fgetc(f1);
c2 = fgetc(f2);
}
if(c1==EOF&&c2==EOF) /* 判断两个文件是否都到结尾 */
printf("YES");
else
printf("NO");
printf("\n");
fclose(f1);
fclose(f2);
system("pause");
return 0;
}
如果两个文件长度不同,上面的程序就会得出错误结果。比如头一个文件内容为:abcde第二个文件内容为:abcdefg会得出错误结果。
程序改写如下,已编译通过:
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE * f1 = fopen("dd.txt","r");/* 改为实际文件名 */
FILE * f2 = fopen("bb.txt","r");
char c1 = fgetc(f1);
char c2 = fgetc(f2);
while(!feof(f1) && !feof(f2)){
if(c1 != c2){printf("NO");system("pause");return 0;}
c1 = fgetc(f1);
c2 = fgetc(f2);
}
if(c1==EOF&&c2==EOF) /* 判断两个文件是否都到结尾 */
printf("YES");
else
printf("NO");
printf("\n");
fclose(f1);
fclose(f2);
system("pause");
return 0;
}
2009-06-28
展开全部
#include <stdio.h>
int main(){
FILE * f1 = fopen("file1.txt","r");
FILE * f2 = fopen("file2.txt","r");
char c1 = fgetc(f1);
char c2 = fgetc(f2);
while(!feof(f1) && !feof(f2)){
if(c1 != c2){printf("no");return -1;}
c1 = fgetc(f1);
c2 = fgetc(f2);
}
printf("YES");
return 0;
}
int main(){
FILE * f1 = fopen("file1.txt","r");
FILE * f2 = fopen("file2.txt","r");
char c1 = fgetc(f1);
char c2 = fgetc(f2);
while(!feof(f1) && !feof(f2)){
if(c1 != c2){printf("no");return -1;}
c1 = fgetc(f1);
c2 = fgetc(f2);
}
printf("YES");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用两个文件变量,打开这两个文件,然后用循环语句进行比较就行了,不是很简单吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询