所以我在这个网站上环顾四周,但似乎没有任何效果。 我试图将数组指针传递给函数,从文本文件中读取数字行作为字符串到数组,然后将数组返回到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;
}
答案 0 :(得分:1)
看起来你忽略了在while循环中递增索引,导致每一行依次分配给数组中的元素0,最后一个赋值可能是空行。试试这个:
asArray[arrayIndex++] = line;