c – 是否有类似Filestorage类的东西来存储文件?

有没有像类可能用于存储文件和目录的类,就像Zip文件的使用方式一样?

因为我没有找到任何“真正的”类来编写Zip文件(真实类在真实类中),
能够将文件和目录存储在类似容器的文件中会很好.

一个完美的API可能看起来像这样:

int main()
{
    ContainerFile cntf("myContainer.cnt", ContainerFile::CREATE);
    cntf.addFile("data/some-interesting-stuff.txt");
    cntf.addDirectory("data/foo/");
    cntf.addDirectory("data/bar/", ContainerFile::RECURSIVE);
    cntf.close();
}

……我希望你能得到这个想法.
重要要求是:

>图书馆必须是跨平台的
>任何事情*在这种情况下不接受GPL(麻省理工学院和BSD许可证)

我已经想到了创建一个基于SQLite的Implentation(以及它存储二进制blob的能力).不幸的是,似乎不可能在SQLite数据库中存储目录结构,这使得它在这种情况下几乎无用.

希望这样的类库是没用的吗?

最佳答案 在SQLite数据库中,您可以存储类似目录的结构…您只需要有一个“目录”表,每个目录有一个条目,至少有一个索引和一个“父”字段(保存另一个的索引)目录,如果没有父目录则为0).然后,您可以拥有一个“文件”表,其中包含文件属性,父目录的索引和文件内容.

就是这样,现在您在关系数据库中拥有了目录树.

点赞