计算两个文件是否相同
kelvin 发布于 2022-10-16

对于大小相同的两个文件,如何计算内容是否相同,有下面两种方法,

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;

}
kelvin
关注 私信
文章
92
关注
0
粉丝
0