c ++返回数组中的最后一个元素

时间:2016-04-26 12:56:53

标签: arrays c++-cli

我的文本文件如下所示:

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

然后我打开文件并将所有行读入数组之后我运行循环将所有文本单词拆分成单独的元素(所以数组看起来像这样" myarray = {" word1",&# 34; WORD2"" WORD3"" word4""的word5 ...}&#34)

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]而不是输出&#34; word1&#34;我得到了数组中的最后一个字

1 个答案:

答案 0 :(得分:0)

我认为还有一些细节。例如,您说&#34;告诉我element[0] ...&#34;,但在名为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(' ');
}

通过这种方式,您可以累积所有的单词&#39;进入一个在循环外可用的大型列表。您可以使用List运算符访问[]元素,就像数组一样。