2016-04-26 63 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元素,就像数组一样。