2012-04-26 86 views
0

我是C++的新手。 我想編寫一個程序以從文件這在格式具有數據讀出的值:動態長度字符串數組

text<tab or space>text 
text<tab or space>text 
... 

(...表示多個這樣的線)

線在文件的數目而變化。現在,我想讀取此文件並將文本存儲到1個2D字符串數組或2個1D字符串數組中。 我該怎麼做?

此外,我想在這個數組上運行for循環來處理文件中的每個條目。我怎麼寫這個循環?

+2

你迄今所做研究什麼來解決這個問題?你有沒有搜索過這個網站?這是一個非常普遍的任務。 – mavam 2012-04-26 04:16:31

+0

在你開始研究Matthias所說的內容之前,你對這些數組實際做了什麼?有時我們可能會忽視陣列及其有用性。 – CppLearner 2012-04-26 04:34:00

+0

當我寫這個問題時,我看到了右側出現的所有類似問題。而他們都沒有解決我的問題。無論如何,我會嘗試找到類似的問題。 – tumchaaditya 2012-04-26 04:46:47

回答

1

您正在尋找一個可調整大小的陣列。嘗試std::vector<string>。你可以找到文件here

編輯:你也許可以設法通過打開文件,循環計算文件的行數,生成固定大小的數組,關閉並重新打開文件,然後循環遍歷文件來填充陣列。然而,這不被推薦,因爲它會增加你的運行時複雜度,遠遠超過管理矢量所涉及的一小部分開銷,並且它會讓你的代碼更難以理解讀取它的任何人。

(PS - 我同意@馬蒂亞斯 - 此Vallentin,你應該已經能夠找到這個最小的工作在網站上)