2011-02-03 29 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兆字節。更智能的方法只存儲文件名和指向目錄名稱的指針。