1
我有一個包含例如TXT文件:我使用ifstream :: fail()方法的方式不好嗎?
Arthur 20
Mark 21
Josh 12
的是之間,其僅適用於可讀性沒有空的車道!
我想要做的就是把它寫在屏幕上,就像它在文件中一樣。
我試圖讓這種方式:
ifstream file;
string word;
file.open("data.txt");
while(!file.eof()){
file >> word;
if(file.fail())
break;
cout << word << " ";
file >> word;
cout << word << endl;
}
但輸出是:
Arthur 20
Mark 21
Josh 12
0
那麼,爲什麼這個0被抓的空行到我的字符串變量?我認爲失敗()應該停止循環,給我留下正確的輸出?
相關[?爲什麼是的iostream :: EOF算錯了一個循環條件中(http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-一個循環條件考慮錯誤) – Borgleader
此外,你的循環條件是檢查'數據',但你從'文件'讀? – Borgleader
data.txt只是由數據變量處理的文本文件的名稱。 – Slajni