【问题标题】:decompress multiple files from resource in c从c中的资源解压缩多个文件
【发布时间】:2012-07-29 05:32:13
【问题描述】:

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

谢谢

【问题讨论】:

    标签: c windows archive compression


    【解决方案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,并且代码非常简单。

    【讨论】:

    • 感谢您的信息。我只是查看了源代码,但我想要更简单的东西,例如:extractallfiles(zipfile,targetfolder),因为这个特定的提取只是一小部分,我不想实现另一个大型框架只是为了提取单个档案
    • MIT 许可仅用于非商业用途。检查:linderdaum.com/home/index.php?title=Licensing:
    猜你喜欢
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多