2011-02-03 54 views
2

我对C++有点新,但一般来说不是编程。我想用C++编写我的第一个练习程序作为文件索引程序。规划一个文件索引程序

似乎很容易扫描名称目录,存储该信息,并根据我想查看的内容进行过滤。

我所关心的是在某个时刻,我想索引整个驱动器(除了我的操作系统以外,我还有一个额外的1TB驱动器来存储文件)。我在那里有大约400,000-500,000个文件,我想知道存储这些信息的最佳方式是什么?我非常怀疑保持文本文件中的所有记录是最佳的,并且希望认为它很幼稚。

还有什么我应该关注的?

谢谢。

+0

你打算做什么样的查询? – 2011-02-03 06:00:47

+0

搜索文件名和文件类型。也许稍后我可以添加其他类型的过滤器,例如文件大小,日期等。 – Tek 2011-02-03 06:07:03

回答

1

是不是某种数据库的明显答案?

如果你不想连接到服务器,你可以尝试类似SQLite的东西。或者,如果您只需要进行基本查找,也可以创建自己的专有文件格式。您可以在文件中使用二进制和文本数据的任意组合。不知道您需要存储哪些数据以及您将如何访问它,很难建议可能的布局。

0

您可以安全地将数据保存到文本文件。但是,您需要在启动时将文件读入内存,并执行内存中的所有复杂操作。即使我们假设一个天真的方法,在每个文件中存储文件路径的地方,你仍然可以看到〜100字节/文件,或〜50兆字节。更智能的方法只存储文件名和指向目录名称的指针。