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

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

上面代码还可继续化简.

相关推荐
Rabitebla5 分钟前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
码客-ygluu6 小时前
一个通用游戏数据服务器
c++·架构
another heaven6 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
YLCHUP8 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
xiaoye-duck9 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
思麟呀9 小时前
背包DP(01背包+完全背包)
c++·算法
旖旎夜光10 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
ShineWinsu11 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
俊俊几年的12 小时前
动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100
linux·c++·算法·leetcode·嵌入式·动态规划·c
老歌老听老掉牙1 天前
案例 7:二维 Rosenbrock 函数最小值(香蕉函数)
c++·pso