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

相关推荐
李匠20243 小时前
C++GO语言微服务之图片、短信验证码生成及存储
开发语言·c++·微服务·golang
ll7788118 小时前
C++学习之路,从0到精通的征途:继承
开发语言·数据结构·c++·学习·算法
我不想当小卡拉米8 小时前
【Linux】操作系统入门:冯诺依曼体系结构
linux·开发语言·网络·c++
炎芯随笔8 小时前
【C++】【设计模式】生产者-消费者模型
开发语言·c++·设计模式
乌鸦9448 小时前
《类和对象(下)》
开发语言·c++·类和对象+
逐光沧海9 小时前
数据结构基础--蓝桥杯备考
数据结构·c++·算法·蓝桥杯
前进的程序员9 小时前
嵌入式开发中 C++ 跨平台开发经验与解决方案
开发语言·c++
菜一头包9 小时前
c++ std库中的文件操作学习笔记
c++·笔记·学习
吃个早饭11 小时前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
阿沁QWQ12 小时前
单例模式的两种设计
开发语言·c++·单例模式