2016-04-26 29 views
0

返回最後一個元素我有文本文件,它看起來像這樣:C++在陣列

word1 word2 word3 word4 
word5 word6 word7 word8 
word9 word10.. 

然後我打開文件並讀取所有行到數組後,我運行週期的所有文本中的單詞分割成單獨的元件(因此陣列看起來像這樣 「myArray的= {」 字詞1" , 「單詞2」, 「WORD3」, 「word4」, 「的word5 ...}」)

String^ fileName = "text.txt"; 
cli::array<String^>^myarray= File::ReadAllLines(fileName); 
for (int a = 0; a < myarray->Length; ++a) 
{ 
cli::array<String^>^words = myarray[a]->Split(' '); 
} 

我的問題是運行的代碼,並告訴程序後,顯示我的文字[0]而不是獲得「word1」的輸出我得到數組中的最後一個詞

回答

0

我認爲有一點細節是爲了。例如,你說「show me element[0] ...」,但代碼element中沒有任何內容。

這就是說,你的內循環每次都會創建一個新的數組,所以它只會保存文件的最後一行,當然也會被分割成記號。

也許試試這個:

String^ fileName = "text.txt"; 
cli::array<String^>^myarray= File::ReadAllLines(fileName); 
List<String ^>^words = new List<String ^>(); 
for (int a = 0; a < myarray->Length; ++a) 
{ 
    words->AddRange(myarray[a]->Split(' '); 
} 

這樣,你積累的所有的「話」成一個大的列表中的可用外循環。您可以使用[]運算符訪問List元素,就像數組一樣。