轻量级前端框架助力开发者提升项目效率与性能
659
2022-08-27
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~