crc.h

来自「sleuthit-2.09 一个磁盘的工具集」· C头文件 代码 · 共 37 行

H
37
字号
// Common/CRC.h#ifndef __COMMON_CRC_H#define __COMMON_CRC_H#include <stddef.h>#include "Types.h"class CCRC{  UInt32 _value;public:	static UInt32 Table[256];	static void InitTable();  CCRC():  _value(0xFFFFFFFF){};  void Init() { _value = 0xFFFFFFFF; }  void UpdateByte(Byte v);  void UpdateUInt16(UInt16 v);  void UpdateUInt32(UInt32 v);  void UpdateUInt64(UInt64 v);  void Update(const void *data, size_t size);  UInt32 GetDigest() const { return _value ^ 0xFFFFFFFF; }   static UInt32 CalculateDigest(const void *data, size_t size)  {    CCRC crc;    crc.Update(data, size);    return crc.GetDigest();  }  static bool VerifyDigest(UInt32 digest, const void *data, size_t size)  {    return (CalculateDigest(data, size) == digest);  }};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?