我有一個文本文件,其中列出像DVD 標題的對象類的某些屬性(字符串) 類別(字符串) 價格(INT) 運行時(INT) 今年發佈的(INT)讀線C++
文件列出像
Movie1
Action
10.45
123
2008
Movie2
Sc-fi
12.89
99
2008
我有一個功能,讓你在文件的名稱類型,並假定在不同的屬性來讀入一個對象
DVD* file(DVD arr[], string fileName, int s, int& e)
{
ifstream file(fileName);
DVD j;
string v;
string w;
double x;
int y;
int z;
while(!file.eof())
{
file >> v;
j.setTitle(v);
file >> w;
j.setCategory(w);
file >> x;
j.setPrice(x);
file >> y;
j.setRuntime(y);
file >> z;
j.setYear(z);
arr=add(arr, j, s, e); //this is just a function that adds the object to an arry
}
file.close();
return arr;
}
,但它不能正常工作,我希望它讀取每行到變量,然後如果有一個空間跳過它,但如果文件未結束前繼續閱讀,直到它擊中的字符串。有什麼建議麼?
然後,我怎樣才能將每行讀入一個變量。就像我想讓line1(Movie1)上的字符串轉到一個字符串。然後下一行我希望類別(Action)進入另一個字符串 –
只需在循環體中連續多次調用'getline'? –
'line'是你的單一變量。您應該(至少)有一個其他變量來跟蹤程序的狀態並採取適當的行動。 –