我想编写将文件夹压缩到.zip文件的代码,或者将.zip文件解压缩到文件夹中。我相信我需要一些支持它的图书馆,对吗?如果是这样,我应该使用特定的库吗?我想在Linux机器(Ubuntu)上用C ++编写代码。 谢谢你的帮助。
答案 0 :(得分:8)
我建议zlib,它在C中,但经过严格测试,使用多年,并且它几乎可以在您可以想象的每个平台上移植。
答案 1 :(得分:7)
如果您想要更高级别的方法,可以使用zip
(或其他进程启动机制)直接从C ++调用unzip
和system()
命令。默认情况下,这些实用程序在Ubuntu中可用。
答案 2 :(得分:5)
我会推荐LZMA/7 Zip库。它支持多种压缩格式,几乎可用于任何类型的(OS)环境。库API位于C中,您可以轻松地为您的目的选择所需的内容(只需解压缩,压缩或两者)。它还附带一个开源许可证,可以在任何类型的项目(商业或操作系统)中轻松使用。
我们已成功在多个嵌入式项目中使用此库。
答案 3 :(得分:3)
试试libzip。我没有使用它,但看起来它提供了一个非常类似于stdio API的API,用于访问ZIP存档中的压缩文件。
答案 4 :(得分:3)
答案 5 :(得分:-1)
编写自己的解压缩逻辑(使用zlib进行解压缩)并不是非常困难。 (我已经完成了这个。)编写zip会有点困难,但可行。
zip规格在线here。