zip和解压缩文件c ++

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

Solutions Collecting From Web of "zip和解压缩文件c ++"

我会推荐LZMA / 7 Zip库。 它支持各种各样的压缩格式,几乎适用于任何类型的(OS)环境。 库API是在C中,你可以轻松地选择你需要的东西(只是解压缩,压缩或两者)。 它还带有一个开源许可证,可以方便地在任何类型的项目(商业或操作系统)中使用。

我们正在成功地在一些嵌入式项目中使用这个库。

我建议zlib ,它是用C语言编写的 ,但经过了严格的测试,使用了多年,几乎可以在任何你能想象的平台上移植。

如果你想要更高级的方法,你可以使用system() (或其他进程启动机制)直接从C ++调用zipunzip命令。 这些实用程序在Ubuntu中默认可用。

看看Rich Geldreich的miniz 。

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

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

zip规格在这里 。