回 帖 发 新 帖 刷新版面

主题:请武松打虎

有只老虎拦路抢劫,拦了我好多天了,我怎么比较2个文件啊
  比如说:我怎么比较2个文件啊
  
    我现在又2个盘:
一个C:
一个D:
 里面都有Boot.ini这个文件
  我怎么比较他们个是不是相同的呢??/
通宵等候你们来答复~~
不管是你们用什么比较:
   文件名,大小,路径,控制名都可以~只要可以比较出他们是不是相同
就可以了
``可以联系我QQ:119066075
 
  我想像这样不知道可不可以

char *fgets(char *string,int n,FILE *stream) 从流stream中读n个字符存入string中 


分别从两个文件里取一段字符放在两个字符串变量里看他们是否相同 

  请高手指教

你们今天晚上不回帖子,我就等一晚上,明天不回,我在等,,,,,,,,,,,,

回复列表 (共6个回复)

沙发

简单的方法是用CRC32对文件进行校验,然后比较校验值。

或者用系统API  MapFileAndCheckSum也行。

板凳

crc32是什么
turboc20里面有吗

3 楼

靠,你用的tc20呀。
那你就先用long filelength(int handle)求一下两个文件的长度是否相等,不等就不用说了。
相等则用int fgetchar(FILE *fp)读一个字节并进行比较。然后用int fseek(FILE *fp, LONG offset, int origin)移动文件指针进行循环比较直到EOF为止。中间如有不同即可判定文件不同,否则相同。

4 楼

可是这个盘里有那么多个文件,怎么判断啊

5 楼

唉,痴线啊!
搞不清你到底要干什末?一会儿要比较两个文件,一会儿又说磁盘的文件多。
要比较文件呐,就用我上面说的方法。
要搜索文件呐,就用int findfirst(char *pathname,struct ffblk *ffblk,int attrib)和findnext(struct ffblk *ffblk)进行递归搜索处理。

6 楼


这里有个文件可以实现你的要求:

http://www.3322ee.com/thread-4239-1-1.html

我来回复

您尚未登录,请登录后再回复。点此登录或注册