3

我正在尝试将几个文件保存到一个容器文件中。这些文件可以稍后修改,这意味着容器可能必须扩大。用户应该只将此容器视为文件系统中的单个文件。该应用程序是用 C++ 编写并在 Windows 上运行,但文件也应该可以移植到其他平台。

容器格式的要求是:
1.大小:允许大于 4GB 的文件。
2.可移植性:在其他平台上打开容器文件应该是可行的。
3.性能:更改容器内的文件时,只有代表该特定文件的“块”可以更改。特别是,可能不会完全重写该文件。
4.结构:它应该提供一个目录结构,允许建立文件和目录的层次结构。

省略要求 1.) 和 2.) 复合文件(如 Word 和 Excel 使用的)非常适合。

当然,可以设计一个满足所有要求的 API,但我想知道是否已经有一些开源解决方案可以解决这个问题?

有什么建议么?

4

4 回答 4

2

如果您使用 C++ 构建应用程序,您正在寻找的 HDF5 文件格式是什么?

于 2010-10-07T15:50:28.017 回答
1

谷歌搜索“便携式结构化存储”产生:

于 2008-12-17T12:51:02.610 回答
0

一些存档格式(zip、bzip2)可能会完成这项工作。

于 2008-12-17T12:40:29.013 回答
0

为了扩展 JF Sebastian 的答案,tar由于它不压缩,可能是一种更好的格式。它实际上只是一个容器。

不过,我不确定这些存档格式中的任何一种是如何可编辑的。玩一下SharpZipLib并找出答案,我猜 =)

于 2008-12-17T12:43:29.630 回答