2017-04-25 25 views
0

我是初學者,學習C++的計算機科學。打開文件以讀取結構數組

我在程序中打開文件並將信息讀入結構中的每一次嘗試都不起作用。

這是我寫的功能。

void getMemberInfo(Payment member[]) 
{ 
    ifstream file; 
    file.open("information.txt", ios::in); 
    int i = 0; 

    if (!file) 
     cout << "\n Error opening file!\n\n"; 

    else 
    { 
     while (!file) 
     { 
      file >> member[i].ID; 
      file.getline(member[i].name, 30, '\n'); 
      member[i].member_name = member[i].name; 
      file >> member[i].payment_due; 
      i++; 

      if (file.eof()) 
      break; 
    } 
} 

file.close(); 
} 

任何幫助表示讚賞。我有點不知所措。

+0

可能該文件不在您當前的工作目錄中。 –

+0

調試器。使用調試器來確定程序出錯的地方。使用調試器的結果編輯您的文章。 –

+0

請使用輸入數據文件的樣本編輯您的文章。 –

回答

-3

錯誤處於while狀態。只是改變條件,它應該工作

// Instead of !file, use !file.eof() 
while (!file.eof()) 
+0

更好的應該是'while(file)' – Pavel

+0

好吧雖然(文件)只是讓它工作 –

+0

我想我一直在看屏幕這麼久,我錯過了它 –