raritem.h
来自「由7-zip提供的压缩、解压缩程序」· C头文件 代码 · 共 92 行
H
92 行
// RarItem.h#ifndef __ARCHIVE_RAR_ITEM_H#define __ARCHIVE_RAR_ITEM_H#include "Common/Types.h"#include "Common/String.h"namespace NArchive{namespace NRar{struct CRarTime{ UInt32 DosTime; Byte LowSecond; Byte SubTime[3];};class CItem{public: UInt16 Flags; UInt64 PackSize; UInt64 UnPackSize; Byte HostOS; UInt32 FileCRC; CRarTime CreationTime; CRarTime LastWriteTime; CRarTime LastAccessTime; bool IsCreationTimeDefined; // bool IsLastWriteTimeDefined; bool IsLastAccessTimeDefined; Byte UnPackVersion; Byte Method; UInt32 Attributes; AString Name; UString UnicodeName; Byte Salt[8]; bool IsEncrypted() const; bool IsSolid() const; bool IsCommented() const; bool IsSplitBefore() const; bool IsSplitAfter() const; bool HasSalt() const; bool HasExtTime() const; bool HasUnicodeName() const; bool IsOldVersion() const; UInt32 GetDictSize() const; bool IsDirectory() const; bool IgnoreItem() const; UInt32 GetWinAttributes() const; CItem(): IsCreationTimeDefined(false), IsLastAccessTimeDefined(false) {}private: void SetFlagBits(int aStartBitNumber, int aNumBits, int aValue); void SetBitMask(int aBitMask, bool anEnable);public: void ClearFlags(); void SetDictSize(UInt32 aSize); void SetAsDirectory(bool aDirectory); void SetEncrypted(bool anEncrypted); void SetSolid(bool aSolid); void SetCommented(bool aCommented); void SetSplitBefore(bool aSplitBefore); void SetSplitAfter(bool aSplitAfter);};class CItemEx: public CItem{public: UInt64 Position; UInt16 MainPartSize; UInt16 CommentSize; UInt16 AlignSize; UInt64 GetFullSize() const { return MainPartSize + CommentSize + AlignSize + PackSize; }; // DWORD GetHeaderWithCommentSize() const { return MainPartSize + CommentSize; }; UInt64 GetCommentPosition() const { return Position + MainPartSize; }; UInt64 GetDataPosition() const { return GetCommentPosition() + CommentSize + AlignSize; };};}}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?