是否有Windows复合文件的开源替代品?

时间:2008-12-17 12:37:24

标签: c++ windows open-source containers compound-file

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

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

当省略要求1.)和2.)复合文件(如Word和Excel使用)是一个很好的选择。

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

有什么建议吗?

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

某些存档格式(zip,bzip2)可能会起作用。

答案 3 :(得分:0)

为了扩展J.F. Sebastian的答案,tar可能是一种更好的格式,因为它没有压缩。它实际上只是一个容器。

我不确定这些存档格式是如何编辑的。与SharpZipLib玩游戏并找出答案,我猜=)