C/C++教程

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

本文主要是介绍【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.\n");
        exit(0);
    }
    
    if ((fp2 = fopen("a2.txt", "r")) == NULL) {
        printf("Open file error.\n");
        exit(0);
    }
    
    ch1 = fgetc(fp1);
    ch2 = fgetc(fp2);
    
    row = column = 1;
    while (ch1 == ch2 && !(ch1==EOF && ch2 == EOF)) {
        column++;
        if (ch1 == '\n') {
            row++;
            column = 1;
        }
        ch1 = fgetc(fp1);
        ch2 = fgetc(fp2);
    }
    if (ch1 == EOF && ch2 == EOF) {
        printf("Files is same.\n");
    }else{
        printf("Rows id %d, Columns is %d.\n", row, column);
    }
    
    
    if (fclose(fp1)) {
        printf("Can not close the file!\n");
        exit(0);
    }
    
    if (fclose(fp2)) {
        printf("Can not close the file!\n");
        exit(0);
    }
    
    return 0;
    
}

 

这篇关于【C语言程序设计第四版】第十二章 程序设计题 3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!