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('.')

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

上面代码还可继续化简.

相关推荐
历程里程碑5 分钟前
C++ 17异常处理:高效捕获与精准修复
java·c语言·开发语言·jvm·c++
xu_yule14 分钟前
算法基础(背包问题)—分组背包和混合背包
c++·算法·动态规划·分组背包·混合背包
你的冰西瓜33 分钟前
C++中的vector容器详解
开发语言·c++·stl
刻BITTER34 分钟前
C++ 获取任意整数类型的最大、最小值和长度
开发语言·c++
程序员老舅35 分钟前
C++ STL 算法:从原理到工程实践
linux·c++·stl·c/c++·数据结构与算法
十五年专注C++开发39 分钟前
ZeroMQ: 一款高性能、异步、轻量级的消息传输库
网络·c++·分布式·zeroqm
superman超哥1 小时前
仓颉语言中循环语句(for/while)的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
chenyuhao20241 小时前
Linux系统编程:线程概念与控制
linux·服务器·开发语言·c++·后端
J ..1 小时前
C++ 中的右值引用与移动语义
c++
xu_yule1 小时前
算法基础(背包问题)-完全背包
c++·算法·动态规划·完全背包