【问题标题】:What is the best library to work with archives [closed]使用档案的最佳图书馆是什么[关闭]
【发布时间】:2012-04-12 12:17:50
【问题描述】:

我想知道,您会为以下内容选择什么库: 我需要能够将一堆文件和文件夹(文件系统结构树)组合成一个文件 - 存档,从而拥有一个复合文件。

  • 库必须是跨平台的:Windows 7 和 Linux
  • 它必须提供对内容的访问和仅提取一个文件的能力(例如,如果我有一个数据文件夹的存档并且如果我只需要数据/子数据/文件,则应该只提取它)
  • 它必须具有 C++(最好)或 C API
  • 我并不是特别热衷于存档,但最好还是这样做,因为我将主要存储文本文件,而且它们的压缩效果很好...

非常感谢任何反馈!

【问题讨论】:

  • 看看 bit7z 库。看起来很有希望。

标签: c++ api cross-platform archive


【解决方案1】:

【讨论】:

    【解决方案2】:

    zlib 可能是安全的答案。

    【讨论】:

    • libarchive 的一大缺点是文件名的灾难性 UTF-8 处理。似乎有在 macOS 和 Linux 上设置语言环境的解决方法,但在 Windows 上对我来说没有解决方法。否则它是一个很棒的图书馆。
    【解决方案3】:

    zlibBoost Iostreams 组合是一个很好的组合。不过,这不会进行文件级提取。

    编辑: 我通过another SO question 找到的其他一些选项包括:

    • Zipios++
    • QuaZIP - 需要 QT,可能无法在 Windows 上构建 正确

    EDIT2:

    • Minizip(通常包含在 zlib 中)也可以解决问题 - 可能是最轻量级和最常用的解决方案。

    【讨论】:

    • 不提供 OP 要求的复合部分。
    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 2011-01-08
    相关资源
    最近更新 更多