当前位置: 首页 > news >正文

QT向已有ZIP中追加文件

向已有ZIP中追加文件,使用qt自带的QZipWriter和quazip库均失败了,要么格式损坏、要么ZIP里面的原有的文件清空了

使用7z.exe可以实现 : 指令 7z.exe a A.zip B.txt,使用代码控制如下

#include <QCoreApplication>
#include <QFileInfo>
#include <QProcess>
#include <QDebug>int addFileToZip(const QString &zipFilePath, const QString &fileToAddPath){QString sevenZipPath = "F:\\data\\7z\\7z.exe";QProcess process;process.setWorkingDirectory(QFileInfo(sevenZipPath).absolutePath());QStringList arguments;arguments << "a" << zipFilePath << fileToAddPath;process.start(sevenZipPath, arguments);process.waitForFinished();if (process.exitCode() != 0) {qDebug() << "7z.exe process failed:" << process.readAllStandardError();return -1;}qDebug() << "File added to ZIP successfully.";return 0;
}
int main(int argc, char *argv[]) {//7z.exe a A.zip B.txtQString zipFilePath = "F:\\data\\A.zip";QString fileToAddPath = "F:\\data\\B.txt";addFileToZip(zipFilePath, fileToAddPath);return 0;
}

相关文章:

  • (55)MOS管专题--->(10)MOS管的封装
  • WBTC与BTC的主要区别
  • 内网安全【2】-域防火墙
  • C++链表相关内容温习回顾——移除链表元素
  • 线程池吞掉异常的case:源码阅读与解决方法
  • 【Python支持多种数据类型及案列】
  • ROS系统中解析通过CAN协议传输的超声波传感器数据
  • nginx安装环境部署(完整步骤)
  • java如何截取字符串
  • 【亲测可用】docker进入正在运行的容器
  • 【代码随想录训练营】【Day 50】【动态规划-9】| Leetcode 198, 213, 337
  • 访问jlesage/firefox镜像创建的容器中文乱码问题
  • Mac 终端报错 zsh: command not found: brew 解决方案
  • JVM 三色标记算法
  • Linux的操作命令(2)
  • 【Leetcode】101. 对称二叉树
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Java超时控制的实现
  • Java基本数据类型之Number
  • JAVA之继承和多态
  • JSONP原理
  • springMvc学习笔记(2)
  • 从0到1:PostCSS 插件开发最佳实践
  • 分布式事物理论与实践
  • 分类模型——Logistics Regression
  • 聊聊flink的TableFactory
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 数组大概知多少
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • Android开发者必备:推荐一款助力开发的开源APP
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​iOS实时查看App运行日志
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • %check_box% in rails :coditions={:has_many , :through}
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (07)Hive——窗口函数详解
  • (1)(1.11) SiK Radio v2(一)
  • (160)时序收敛--->(10)时序收敛十
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (分布式缓存)Redis持久化
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (七)Activiti-modeler中文支持
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (一)认识微服务
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ***测试-HTTP方法
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET MVC第三章、三种传值方式
  • .net refrector
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter