2309C++测试miniz简单压缩

cpp 复制代码
#include "zip.h"
#include <压中>
双<串,整>文件及长(串&a){
    串 b=至冲(a);整 i=b.大小();
    中{b,i};
}
空 g(压缩型*a,串&b){
    打开压缩项(a,b.c串());//.1
    动[m,n]=文件及长(b);
    写压缩项(a,m.c串(),n);//.2
    关闭压缩项(a);//.3
}

空 f(){
    向量<串>们{"文档.xml","[Content_Types].xml","_rels\\.rels"};
    压缩型*a=打开压缩("a.docx",压缩默认压缩级,'w');
    对(动&p:们)g(a,p);
    关闭压缩(a);
}

空 主(){
    f();
}

当然,要先编译zip.c,可用xmake如下:

cpp 复制代码
target("zip")
    set_kind("static")
    add_files("zip.c")
    add_includedirs("e:/path/h")
    set_targetdir('.')

非常简单,就可以直接用了.

上面代码还可继续化简.

相关推荐
江屿风17 分钟前
【C++笔记】List流食般投喂
开发语言·c++·笔记·list
Lucis__3 小时前
基于Cache替换算法的LRU缓存实现
数据结构·c++·算法·缓存·lru
Cx330❀9 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
c2385610 小时前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
辞旧 lekkk10 小时前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap
持力行12 小时前
C++与Java变量声明、定义及内存分配的核心区别
java·开发语言·c++
Rainy Blue88313 小时前
C转C++速成
c语言·c++·算法
txzrxz13 小时前
二分图详解
数据结构·c++·算法·图论·深度优先搜索·二分图染色
jinyishu_13 小时前
C++ 继承全解:从基础到高级特性
开发语言·c++
是个西兰花14 小时前
Linux:死锁与生产者消费者模型解析
linux·运维·服务器·c++·死锁·生产者消费者模型