我正在使用C++、Boost和Qt开展一个项目。我知道如何使用Qt中的qCompress()函数压缩单个文件和字节流。
那么如何压缩包含子目录在内的多个文件的目录呢?我需要跨平台(Mac、Win、Linux)解决方案,最好不要启动一堆新进程。
是否有一种标准方法将多个文件的字节流组合成一个压缩存档,或者Boost iostream库中可能有一个方便的函数或方法可用?
非常感谢您的帮助。
更新:QuaZip库看起来真的很棒。下载包中有一个示例(在“tests”目录中),非常清楚地显示了如何压缩文件目录。
更新2:在我完成这个任务的Linux构建环境后,我发现QuaZip与Visual Studio编译器根本不兼容。也许可以解决所有这些编译器错误,但是对于任何想要走这条路的人,提醒一句。
那么如何压缩包含子目录在内的多个文件的目录呢?我需要跨平台(Mac、Win、Linux)解决方案,最好不要启动一堆新进程。
是否有一种标准方法将多个文件的字节流组合成一个压缩存档,或者Boost iostream库中可能有一个方便的函数或方法可用?
非常感谢您的帮助。
更新:QuaZip库看起来真的很棒。下载包中有一个示例(在“tests”目录中),非常清楚地显示了如何压缩文件目录。
更新2:在我完成这个任务的Linux构建环境后,我发现QuaZip与Visual Studio编译器根本不兼容。也许可以解决所有这些编译器错误,但是对于任何想要走这条路的人,提醒一句。
zlib
生成和解码。 - John