12

我想编写将文件夹压缩到 .zip 文件或将 .zip 文件解压缩到文件夹中的代码。我相信我需要一些支持它的库,对吗?如果是这样,是否有我应该使用的特定库?我想在 Linux 机器(Ubuntu)上用 C++ 编写代码。谢谢您的帮助。

4

6 回答 6

9

如果您想要更高级别的方式来执行此操作,您可以使用(或其他进程启动机制)直接从 C++调用zipand命令。这些实用程序在 Ubuntu 中默认可用。unzipsystem()

于 2012-08-17T19:07:56.640 回答
8

我建议zlib,它是用 C 语言编写的,但经过大量测试,使用了多年,并且几乎可以在您可以想象的每个平台上移植。

于 2012-08-17T19:06:58.407 回答
7

我会推荐LZMA/7 Zip库。它支持多种压缩格式,可用于几乎任何类型的 (OS) 环境。库 API 在 C 中,您可以轻松地选择您需要的内容(只是解压缩、压缩或两者兼而有之)。它还附带一个开源许可证,可以轻松用于任何类型的项目(商业或操作系统)。

我们在许多嵌入式项目中成功地使用了这个库。

于 2012-08-17T19:46:11.633 回答
5

看看Rich Geldreich 的 miniz

于 2013-09-15T21:05:54.090 回答
4

尝试libzip。我没有使用过它,但它看起来提供了一个与 stdio API 非常相似的 API,用于访问 ZIP 档案中的压缩文件。

于 2012-08-17T19:13:36.467 回答
-1

编写自己的解压缩逻辑(使用 zlib 进行解压缩)并不难。(我已经这样做了。)编写 zip 会有点困难,但可行。

zip 规范在此处在线。

于 2012-08-17T19:11:18.803 回答