gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:35 26 4
gpt4 key购买 nike

是否有类似类的东西可以用来存储文件和目录,就像 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 在这种情况下是 Not Acceptable (MIT 和 BSD 许可证是)

我已经考虑过创建一个基于 SQLite 的实现(及其存储二进制 blob 的能力)。不幸的是,似乎不可能将目录结构存储在 SQLite 数据库中,这使得它在这种情况下几乎毫无用处。

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

最佳答案

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

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

关于c++ - 是否有类似 Filestorage 类的东西来存储文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2939106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com