Windows下使用C / C ++的虚拟文件系统

时间:2011-06-13 13:56:43

标签: c++ filesystems zip virtualfilesystem

我目前正在开发一款模拟操作系统的游戏。因此我需要一个游戏文件系统。目前,我使用zziplib能够从zip存档加载文件,但是这是一个只读“文件系统”,我需要一种方法来编写新文件并在之后序列化它们(并在下次执行时反序列化它们)!在野外有没有任何有用的库可以使用,还是我应该根据任何一个为自己写一个?

3 个答案:

答案 0 :(得分:6)

这可能是使用简单数据库作为文件系统make sens的地方之一。

使用类似sqlite的内容来存储数据(路径为键,blob为数据或类似内容)。

这样做的一个优点是您实际上不必担心存储,并且您可以使用现有的数据库工具来“离线”查看/编辑数据,而不必编写自己的数据。 (此外,您还可以在其中存储其他游戏信息。)

答案 1 :(得分:5)

您可以查看PicoStorageEmbedded File System in C++。我没有直接使用过,但我看了他们俩。嵌入式文件系统确实有一个依赖,可能是一个显示停止 - 它需要Qt链接。也许这可以删除,但它主要用于QString和QFile(并没有理由要求UI)。

答案 2 :(得分:2)

我的六便士在上面的答案之上。 SolFSCodebaseFS提供虚拟文件系统功能;它们都有一个用于C / C ++的API,并且看起来完全符合您的要求。仍然......你的任务规模对我来说并不清楚。你的游戏是否需要管理几十个,几百个,一个......的文件?这些文件的大小是多少?等等。在寻找合适的解决方案之前,我会提出这些问题。