您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

38 行
651B

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <assert.h>
  5. int binnary_diff(const char* file1, const char* file2)
  6. {
  7. FILE* fp1 = fopen(file1, "rb");
  8. FILE* fp2 = fopen(file2, "rb");
  9. char packet1[4 * 1024];
  10. char packet2[4 * 1024];
  11. for(int i = 0; 1; i++)
  12. {
  13. int r1 = fread(packet1, 1, sizeof(packet1), fp1);
  14. int r2 = fread(packet2, 1, sizeof(packet2), fp2);
  15. int r = r1 < r2 ? r1 : r2;
  16. if (r < 1)
  17. break; // eof
  18. if (0 != memcmp(packet1, packet2, r))
  19. {
  20. for (int j = 0; j < r; j++)
  21. {
  22. if (packet1[j] != packet2[j])
  23. break;
  24. }
  25. }
  26. if(r1 != r2)
  27. break;
  28. }
  29. fclose(fp1);
  30. fclose(fp2);
  31. return 0;
  32. }