c++调用批处理实现文件压缩

使用#include <cstdlib>下的system函数

代码如下

system("winrar a -ep D:\\Code\\ABC\\AAA.zip D:\\Code\\ABC\\Flash.hex D:\\Code\\ABC\\App.hex");

也可以将其写在bat,cmd文件中进行调用

路径必须\\隔开

AAA.zip为压缩后的zip名称

后面是要压缩的文件,各个参数用空格隔开

命令a      添加文件到压缩文件

参数ep    从名称里排除路径

如果不加ep,压缩文件中会包含很多层文件夹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
哈夫曼树是一种有效的数据压缩算法,可以通过构建哈夫曼树来实现文件压缩和解压缩。 哈夫曼树的构建过程主要分为两步:统计字符频率和构建哈夫曼树。 首先,在压缩文件之前,需要统计每个字符在文件中出现的频率。可以遍历文件中的每个字符,使用一个哈希表来记录每个字符出现的频率。 然后,根据字符的频率构建哈夫曼树。先将每个字符及其频率作为一个节点插入优先队列(最小堆),按照频率进行排序。接下来,从优先队列中取出频率最小的两个节点作为左右子节点,新建一个父节点,将两个子节点连接到父节点上,并将父节点重新插入优先队列。重复这个过程,直到队列中只剩下一个节点,即构建出哈夫曼树。 完成哈夫曼树的构建后,可以通过遍历哈夫曼树的路径来生成每个字符的编码。从根节点开始,左子节点表示0,右子节点表示1,递归地沿着树的路径进行编码。将每个字符及其对应的编码存入编码表中。 在压缩文件时,可以使用编码表将文件中的字符逐个替换为对应的编码,从而将文件压缩为较小的二进制文件。在解压缩时,根据编码表将编码逐个转换回原始字符,恢复原始文件。 哈夫曼树算法能够根据字符频率生成可变长度的编码,使得出现频率高的字符使用更短的编码,提高压缩效率。通过哈夫曼树实现文件压缩和解压缩可以有效地减小文件的大小,方便存储和传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值