编写C语言程序,用于比较两个正文文件内容相等(既字符相等)

急啊!帮个忙
2025-12-25 06:08:10
推荐回答(1个)
回答1:

本不想来啰嗦,但楼上的程序的确有缺陷。
如果两个文件长度不同,上面的程序就会得出错误结果。比如头一个文件内容为:abcde第二个文件内容为:abcdefg会得出错误结果。
程序改写如下,已编译通过:
#include
#include

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;
}