gpt4 book ai didi

c - 如何检查两个文件的内容是否相同?

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:26 24 4
gpt4 key购买 nike

我需要检查两个文件的内容是否相同,我的意思是每个文件中的字符串是否相等。我用 c 语言编写了一个程序,其中包含一个函数,如果文件相同,则返回 2,否则返回 1。我的问题是,无论内容是什么,该函数都会返回 1。

#include <stdio.h> 

int compareFilles(FILE *fp1, FILE *fp2){

int word1 = getc(fp1);
int word2 = getc(fp2);

//A loop until the end of the files(EOF)
while (word1 =! EOF && word2 != EOF && word1 == word2){
word1 = getc(fp1);
word2 = getc(fp2);
}

if (word1 != word2){
return 1;
}else{
return 2;
}
}

int main(int argc, char* argv[]){
FILE *fp1 = fopen(argv[0], "r");
FILE *fp2 = fopen(argv[1], "r");

printf("%d", compareFilles(fp1, fp2));

//closing the files
fclose(fp1);
fclose(fp2);

return 0;
}

最佳答案

一般来说,argv[0]包含了用来启动程序的命令,通常是可执行文件的名称或者其中的一部分。因此,您的程序将自己的可执行文件与第一个参数 (argv[1]) 命名的文件进行比较,它们是不同的。

关于c - 如何检查两个文件的内容是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53580797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com