c语言判断两个文件是否相同,并输出差异
时间: 2023-08-16 18:09:11 浏览: 241
判断文件是否是同一文件
5星 · 资源好评率100%
可以使用C语言中的文件操作函数进行判断两个文件是否相同,并输出差异。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LEN 1024
int main()
{
FILE *fp1, *fp2;
char file1[100], file2[100];
char line1[MAX_LINE_LEN], line2[MAX_LINE_LEN];
int line_num = 0;
printf("Enter the name of first file: ");
scanf("%s", file1);
printf("Enter the name of second file: ");
scanf("%s", file2);
fp1 = fopen(file1, "r");
fp2 = fopen(file2, "r");
if (fp1 == NULL || fp2 == NULL) {
printf("Error: Unable to open the file.\n");
exit(1);
}
while (fgets(line1, MAX_LINE_LEN, fp1) != NULL && fgets(line2, MAX_LINE_LEN, fp2) != NULL) {
line_num++;
if (strcmp(line1, line2) != 0) {
printf("Line %d: %s\n", line_num, line1);
printf("Line %d: %s\n", line_num, line2);
break;
}
}
if (feof(fp1) && feof(fp2)) {
printf("The two files are identical.\n");
} else {
printf("The two files are not identical.\n");
}
fclose(fp1);
fclose(fp2);
return 0;
}
```
该程序会提示用户输入两个文件的名称,然后打开这两个文件,并逐行地比较它们是否相同。如果两个文件有不同的行,则输出这两行的内容和行号,然后退出循环。如果两个文件完全相同,则输出“ The two files are identical.”,否则输出“ The two files are not identical.”。
阅读全文