C++的压缩API

问题描述:

我正在制作一个应用程序,它首先压缩文件然后传输它。我在UNIX环境中使用C++作为语言。我无法找到适合我需要的图书馆。我查了一下,但是找不到任何用于gunzip的API。同样,7zip也只有SDK for windows only。如果图书馆能够在压缩过程中提供完成/离开的百分比,那将会很棒。C++的压缩API

我读过关于Gzstream库,这是Zlib的包装,也提升了IOStreams。

请提出替代方案(如果有)或图书馆的优缺点。

zlibbzip2 - 易于使用且经过良好测试。 bzip2倾向于更好地压缩,zlib往往更快。或者,如果速度最重要,则可以使用QuickLZ

如果您不介意添加wxWidgets的开销,为了方便起见,您可能需要查看wxZlibOutputStreamwxZlibInputStream

Linux/UNIX上有一个7z SDK的端口:xz and liblzma。它在最新的Linux发行版中。

就像Android平台上说的,如果你不介意的话,还有POCO's Zip组件。