2014-06-05 58 views
0

所以我在這個網站上四處瀏覽,但似乎沒有任何工作。 我試圖將一個數組指針傳遞給一個函數,從文本文件中將數組的行讀取爲數組的字符串,然後將數組返回給主函數。它在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

看起來你忘了你的遞增指數while循環中,導致各行依次被分配到元素0陣列中,與過去的分配可能是一個空行。試試這個:

asArray[arrayIndex++] = line; 
+0

omg!那就是它,愚蠢的錯誤!謝謝布朗! – Bjt1776