forked from xcj2012/Configuration-61850
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CRC32Ex.h.bak
56 lines (37 loc) · 980 Bytes
/
CRC32Ex.h.bak
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
Copyright 2006 - 2008, All Rights Reserved.
CRC32类之扩展
作者 - 张鲁夺(zhangluduo)
MSN - [email protected]
QQ群 - 34064264
为所有爱我的人和我爱的人努力!
*/
#ifndef _CRC32EX_H
#define _CRC32EX_H
#include "CRC32.h"
#include "MemberFxn.h"
#pragma warning(disable : 4786)
#include <string>
using namespace std;
#define BUFFER_SIZE 1024
class CRC32Ex : public CRC32
{
public:
CRC32Ex();
virtual ~CRC32Ex();
private:
string m_strErr; // 错误描述
bool m_bTerminate; // 终止文件计算标志
void OnFileProcessing(int nProgress, MemberFxn addr);
string ResultToHex(unsigned long Result, bool bUpper = true);
public:
// 获取文件的CRC32值
string GetCRC32FromFile (char* FileName, bool bUpper = true, MemberFxn addr = 0);
// 获取内存数据的CRC32值
string GetCRC32FromBuffer(unsigned char* pData, unsigned long DataLen, bool bUpper = true);
// 此函数可提前结束GetCRC32FromFile函数的执行
void StopCalcFile();
// 获取错误描述
string GetError();
};
#endif