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

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

上面代码还可继续化简.

相关推荐
不会C语言的男孩11 分钟前
C++ Primer 第18章:用于大型程序的工具
开发语言·c++
星恒随风17 分钟前
C++ 类和对象入门(三):拷贝构造、赋值运算符重载和深浅拷贝
开发语言·c++·笔记·学习
Cx330❀18 分钟前
【MySQL基础】库与表的全面操纵指南
linux·服务器·网络·数据库·c++·mysql
凡人叶枫20 分钟前
Effective C++ 条款03:尽可能使用 const
linux·开发语言·c++·嵌入式开发
小欣加油34 分钟前
Leetcode31 下一个排列
数据结构·c++·算法·leetcode·职场和发展
Cx330❀38 分钟前
【Linux网络】高性能 TCP 服务器:从多线程到线程池的架构演进与落地实践
linux·运维·服务器·网络·c++·tcp/ip·架构
c2385643 分钟前
C++的IO流深入理解(上)
开发语言·c++
炘爚1 小时前
Phase 4:业务线程池 — IO/计算解耦
linux·c++
张小姐的猫1 小时前
【Linux】多线程 —— 线程池 | 单例模式 | 常见锁
linux·运维·服务器·c++·单例模式·设计模式·策略模式
郝学胜-神的一滴1 小时前
力扣 662 :二叉树最大宽度
java·数据结构·c++·python·算法·leetcode·职场和发展