Board logo

Subject: 请教关于cnpack中的cncrc32包的使用 [Print This Page]

Author: space    Time: 2008-7-28 07:54     Subject: 请教关于cnpack中的cncrc32包的使用

昨天我需要对一个文件进行crc32校验,结果偷了下懒,想起cnpack包中有这个单元,就直接引用了。
我使用bcb编的,在工程中添加了cncrc32.pas,并进行了引用
然后调用FileCRC32函数进行文件校验
但是得到的crc值和用Magic SFV & MD5校验出来的crc值一直不一样。
很是奇怪。

请教下是什么原因
是不是FileCRC32函数的第二个参数CRC32:其实crc值的原因??

如果我要对一个文件进行完成操作,我用下面的调用方法
FileCRC32(filename,crc)

那么这其中的crc值我因该设为多少才是正确的?

请教了

[ 本帖最后由 space 于 2008-7-28 07:58 编辑 ]
Author: skyjacker    Time: 2008-7-28 08:59

先看看生成多项式是否一样
Author: space    Time: 2008-7-28 10:32

额?什么意思?
那个crc的表,我和标准表对照料下没问题,感觉就是那个原始crc这个参数的问题,不知道传入什么好
Author: Passion    Time: 2008-7-28 11:11

0吧。这个参数用于循环计算的情况。
Author: space    Time: 2008-7-28 12:36

那就很奇怪了
我是直接用FileCRC32(filename,crc);
调用的,其中crc=0
但是总是获得不到正确的结果
PS:我是c++ builder2007
Author: space    Time: 2008-7-28 19:35

错误原因没找到,换料自己写的crc校验函数
Author: Passion    Time: 2009-4-16 15:59

此问题已修正,是CnCRC32的bug所致。
感谢楼主的报告和moremay的分析。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0