Arrays 从带有2个字符串的行中拆分字符串后,数组返回1个元素,所以在访问数组[1]时数组超出范围

Arrays 从带有2个字符串的行中拆分字符串后,数组返回1个元素,所以在访问数组[1]时数组超出范围,arrays,string,visual-c++,split,Arrays,String,Visual C++,Split,我正在努力解决这个问题 while (readSiteid->Peek() != -1) { String^ OneLine = (readSiteid->ReadLine()); if (OneLine != nullptr) { array<String^>^ result = OneLine->Split('

我正在努力解决这个问题

while (readSiteid->Peek() != -1)
        {
                String^ OneLine = (readSiteid->ReadLine());

                if (OneLine != nullptr)
                {
                    array<String^>^ result = OneLine->Split(' ');                                   
                    String^ first = result[0];
                    String^ second = result[1];
while(readSiteid->Peek()!=-1)
{
字符串^OneLine=(readSiteid->ReadLine());
如果(单行!=nullptr)
{
数组^result=OneLine->Split(“”);
字符串^first=结果[0];
字符串^second=结果[1];
这导致编译后数组超出范围。我使用MessageBox::Show(结果[1])进行了进一步测试,但没有得到任何结果。如果只访问结果[0](注释结果[1]),则没有问题


为什么索引只有1,这似乎有什么问题?

显然,
Split()
返回的数组中的元素少于2个。这意味着`ReadLine()正在返回一个没有空格的字符串。从中读取的输入实际上是什么样子的?string1 string2,根据
Split()
,两者之间没有空格。顺便说一句,
WholeLine
应该是
OneLine
,并且
Split()
不接受单个
Char
,它需要一个
Char
s数组,例如:
if(OneLine!=nullptr){array^result=OneLine->Split(newchar[]{''});…}
是的,这是一个打字错误(WholeLine)。我会尝试你的建议,谢谢。。。