【C语言程序设计第四版】第十二章 程序设计题 3

3.比较两个文本文件是否相等:比较两个文本文件的内容是否相同,并输出两个文件中第一次出现不同字符内容的行号及列值。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void){
    int row, column;
    char ch1, ch2;
    
    FILE *fp1, *fp2;
    if ((fp1 = fopen("a1.txt", "r")) == NULL) {
        printf("Open file error.
");
        exit(0);
    }
    
    if ((fp2 = fopen("a2.txt", "r")) == NULL) {
        printf("Open file error.
");
        exit(0);
    }
    
    ch1 = fgetc(fp1);
    ch2 = fgetc(fp2);
    
    row = column = 1;
    while (ch1 == ch2 && !(ch1==EOF && ch2 == EOF)) {
        column++;
        if (ch1 == '
') {
            row++;
            column = 1;
        }
        ch1 = fgetc(fp1);
        ch2 = fgetc(fp2);
    }
    if (ch1 == EOF && ch2 == EOF) {
        printf("Files is same.
");
    }else{
        printf("Rows id %d, Columns is %d.
", row, column);
    }
    
    
    if (fclose(fp1)) {
        printf("Can not close the file!
");
        exit(0);
    }
    
    if (fclose(fp2)) {
        printf("Can not close the file!
");
        exit(0);
    }
    
    return 0;
    
}
原文地址:https://www.cnblogs.com/sidianok/p/15352187.html