对于大小相同的两个文件,如何计算内容是否相同,有下面两种方法,
1、命令行中使用certutil -hashfile filename,计算出文件哈希,比较哈希是否相同
2、也可以写程序计算,还可以计算从第几个字节开始出现不同,如下面的代码
int match()
{
FILE *f1 = fopen("D:\\file\\receive.aac", "rb");
FILE *f2 = fopen("D:\\file\\send.aac", "rb");
int pos = 0;
char *mem1 = new char[1000];
char *mem2 = new char[1000];
int n = 0;
int temp = 0;
char a;
char b;
while (!feof(f1))
{
n = fread(mem1, 1, 1000, f1);
fread(mem2, 1, 1000, f2);
for (int i = 0; i < n; i++)
{
a = *(mem1 + i);
b = *(mem2 + i);
temp = a^b;
//不相同则返回第几个字节开始不同
if (temp != 0)
{
return pos;
}
pos++;
}
}
//相同则返回-1
return -1;
}