MFC 自定义压缩,解压缩工具

界面效果如下:

对外提供的接口如下:

public:

void setCallback(zp::Callback callback, void* param);

bool open(const zp::String& path, bool readonly = false);

bool create(const zp::String& path, const zp::String& inputPath);

void close();

bool isOpen() const;

bool defrag();

zp::IPackage* getPack() const;

const zp::Char* packageFilename() const;

bool enterDir(const zp::String& path);

//srcPath can't be empty

//if dstPath is empty, file/dir will be add to current path of package

bool add(const zp::String& srcPath, const zp::String& dstPath, bool flush = true);

bool remove(const zp::String& path);

void flush();

//if srcPath is empty, current path of package will be extracted

//if dstPath is empty, file/dir will be extracted to current path of system

bool extract(const zp::String& srcPath, const zp::String& dstPath);

void setCurrentNode(const ZpNode* node);

const ZpNode* currentNode() const;

const ZpNode* rootNode() const;

const zp::String& currentPath() const;

void getNodePath(const ZpNode* node, zp::String& path) const;

zp::u64 countDiskFileSize(const zp::String& path);

zp::u64 countNodeFileSize(const ZpNode* node);

相关推荐
u0109272713 小时前
C++中的策略模式变体
开发语言·c++·算法
Aevget5 小时前
MFC扩展库BCGControlBar Pro v37.2新版亮点:控件功能进一步升级
c++·mfc·界面控件
Tansmjs5 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
挖矿大亨7 小时前
c++中的函数模版
java·c++·算法
阿基米东7 小时前
基于 C++ 的机器人软件框架(具身智能)开源通信库选型分析
c++·机器人·开源
偷星星的贼117 小时前
C++中的对象池模式
开发语言·c++·算法
CN-Dust7 小时前
【C++】洛谷P3073 [USACO13FEB] Tractor S
开发语言·c++
2401_829004027 小时前
C++中的适配器模式变体
开发语言·c++·算法
平生不喜凡桃李7 小时前
二叉树遍历非递归写法: 栈
c++··二叉树遍历·非递归
-To be number.wan7 小时前
算法学习日记 | 枚举
c++·学习·算法