我写了这个方法来比较两个文件,特别是图片,并在输出中打印哪里是差异和它是什么.此时此结果是每个字节与另一个字节不同,但我正在比较的图像是相同的.你能帮我吗?这是代码:
void compareFiles(char* path1, char* path2){
FILE* img1;
FILE* img2;
if((img1 = fopen(path1,"r")) == NULL || (img2 = fopen(path2,"r")) == NULL){
printf("ERROR fopen()\n");
exit(-1);
}
int i=0;
char buffer1,buffer2;
int c;
while ((c=fgetc(img1)) != EOF){
fread(&buffer1, 1,1, img1);
fread(&buffer2, 1,1, img2);
if(buffer1 != buffer2){
printf("Byte differs\n IMG1: %s, IMG2: %s; Position %d\n",&buffer1,&buffer2,i);
i++;
}
}
fclose(img1);
fclose(img2);
}
Run Code Online (Sandbox Code Playgroud)