发送指向字符串数组函数的指针不会在main函数中打印出数组

时间:2014-06-05 22:26:04

标签: arrays function reference

所以我在这个网站上环顾四周,但似乎没有任何效果。 我试图将数组指针传递给函数,从文本文件中读取数字行作为字符串到数组,然后将数组返回到main函数。它在GetFile方法中打印得很好,但是一旦它被发送到主要它就不会出现。

using namespace std;

void GetFile(string *asArray)
{  

ifstream myfile("MyResourceFolder/GolfScores.txt");
int arrayIndex = 0;
string line;
asArray[20];
if (myfile)
{
    while(!myfile.eof())
    {
        getline(myfile, line);
        asArray[arrayIndex] = line;
    }
    myfile.close();
}
}

int main()
{
string aArray[20];
string *p = aArray;
GetFile(p);
cout << aArray[2] << endl;

return 0;
}

1 个答案:

答案 0 :(得分:1)

看起来你忽略了在while循环中递增索引,导致每一行依次分配给数组中的元素0,最后一个赋值可能是空行。试试这个:

asArray[arrayIndex++] = line;