【题目描述】比较两个文本文件是否相等:比较两个文本文件的内容是否相同,并输出两个文件中第一次出现不同字符内容的行号和列值。试编写相应程序。
【代码】
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp1, *fp2;
fp1 = fopen("f1.txt", "r");
fp2 = fopen("f2.txt", "r");
if (fp1==NULL || fp2==NULL) {
printf("Can't open file");
exit(0);}
int flg = 1;
int row1 = 1, col1 = 1, row2 = 1, col2 = 1;
char ch1, ch2;
while (!feof(fp1) && !feof(fp2)) {
char ch1 = fgetc(fp1);
char ch2 = fgetc(fp2);
if (ch1 != ch2) {
flg = 0;
printf("%d, %d\n%d, %d", row1, col1, row2, col2);
break;}
else {
col1++;
col2++;}
if (ch1 == '\n') {
row1++;
col1 = 1;}
if (ch2 == '\n') {
row2++;
col2 = 1;}}
if (flg) {
printf("Same file");}
fclose(fp1);
fclose(fp2);
return 0;}