从c中的资源解压缩多个文件

时间:2012-07-31 12:40:58

标签: c windows archive multiple-files compression

我有一个visual c项目,我希望在目录结构中包含一个包含多个文件的存档 我想以编程方式将它提取到磁盘上的某个地方,使用一个最好的小型库(小的我只是意味着几个.c和.h文件 - 大小并不重要),但我似乎只找到解压缩或压缩的库数据直接(我查看lzo-lzop-minilzo,但我似乎没有找到任何说它可以解压缩整个目录树的东西,即使我已经使用lzop来压缩存档文件)

感谢

1 个答案:

答案 0 :(得分:1)

zlib和随附(在contrib)minizip库中支持.zip格式解压缩。

您可以将.zip文件打包为可执行文件中的资源。要从.exe获取原始数据,请使用FindResourceSizeofResourceLoadResourceLockResource API。

然后查看minizip的示例,了解如何解压缩和读取zlib的文档以重载I / O回调。

免责声明:我为Linderdaum Engine's虚拟文件系统执行此操作,现在支持.zip,.tar,.rar(未压缩)和.tar.gz格式。 VFS的代码在Src / Linderdaum / Core / VFS中,并且在MIT许可下用于非商业用途。它是C ++,但zlib的I / O包装器使用C风格的API,代码非常简单。