zip和解压缩文件c ++

时间:2012-08-17 19:04:03

标签: c++ linux zip unzip

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

6 个答案:

答案 0 :(得分:8)

我建议zlib,它在C中,但经过严格测试,使用多年,并且它几乎可以在您可以想象的每个平台上移植。

答案 1 :(得分:7)

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

答案 2 :(得分:5)

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

我们已成功在多个嵌入式项目中使用此库。

答案 3 :(得分:3)

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

答案 4 :(得分:3)

答案 5 :(得分:-1)

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

zip规格在线here