vs 2010 如何用boost计算文件的crc值

网友投稿 659 2022-08-27

vs 2010 如何用boost计算文件的crc值

vs 2010 如何用boost计算文件的crc值

1. 首先从官网-boost库, ​​crc.hpp即可。

2. -后解压到d盘:D:\boost_1_53_0

3. 建立控制台工程文件,并做如下设置:

4. 代码如下

// crctest.cpp : 定义控制台应用程序的入口点。 // #include " stdafx.h " #include < Windows.h > #include < iostream > #include < strstream > #include < ostream > #include < list > #include < string > #include < boost / crc.hpp > using namespace std; using namespace boost; void _tmain( int argc, _TCHAR * argv[]) { HANDLE hFile = ::CreateFile(_T("c:\\1.zip"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(INVALID_HANDLE_VALUE == hFile) { cout << "文件不存在" << endl; return ; } //存放到内存中 //取得文件大小(字节) DWORD dwLen = GetFileSize(hFile, NULL); char *readBuf = new char[dwLen]; memset(readBuf, 0, dwLen); DWORD dwReadLen; //将文件内容存放到 readBuf 中 ReadFile(hFile, readBuf, dwLen, &dwReadLen, NULL); boost::crc_32_type result; //计算一个字符的CRC值 //result.process_byte('a'); //计算字符串的CRC值 //result.process_bytes("abc", 3); //计算文件的CRC值 result.process_block(readBuf, readBuf+dwLen*sizeof(char)); cout << std::hex << std::uppercase << result.checksum() << endl; ::CloseHandle(hFile); delete []readBuf; system("pause"); return;} :

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:初次接触分块思想
下一篇:HIT 2060 Fibonacci Problem Again(矩阵乘法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~