У меня результат не сходится со стандартными утилитами.
Вот код:
U32 crc = 0;
const U32 DEFAULT_BUFFER_SIZE = 1024*32;
boost::crc_32_type CRC32;
char* buf = new char[DEFAULT_BUFFER_SIZE+1];
QFile file( "any.bin" );
Q_ASSERT( file.open(QIODevice::ReadOnly) );
while ( !file.atEnd() ) {
rd = file.read(buf, DEFAULT_BUFFER_SIZE );
CRC32.process_bytes( buf, rd );
}
delete buf;
crc = CRC32.checksum();