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);

相关推荐
蜡笔小马16 分钟前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
林开落L30 分钟前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
林开落L33 分钟前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
Queenie_Charlie37 分钟前
stars(树状数组)
数据结构·c++·树状数组
会周易的程序员1 小时前
openplc runtimev4 Docker 部署
运维·c++·物联网·docker·容器·软件工程·iot
爱装代码的小瓶子1 小时前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
CoderCodingNo1 小时前
【GESP】C++ 二级真题解析,[2025年12月]第一题环保能量球
开发语言·c++·算法
LYOBOYI1231 小时前
qtcpSocket详解
c++·qt
REDcker1 小时前
gRPC完整文档
服务器·网络·c++·网络协议·grpc
Mr_Xuhhh2 小时前
介绍一下ref
开发语言·c++·算法