2015-10-10 46 views
0

因此,我正在爲我的一個課程進行練習考試,但我堅持要如何解決問題。我們給出以下C++代碼:閱讀文件輸入的第三個字(C++)

#include <iostream> 
#include <fstream> 

using namespace std; 
int main​() { 
ifstream infile("princes.txt"); 
string s; 

while(________________) 
{ 
    cout << s << endl; 
} 
    cout << endl; 
    return 0; 
} 

而且其中________是,我們應該填寫代碼正常地生成所需的輸出。除了下劃線區域之外,我們不允許修改代碼。我們從所謂的「princes.txt」和所需的輸出讀取該文件是:

"Princes.txt" 
Prince of Persia 
Prince of Wales 
Prince of Bel-Air 
Prince of Egypt 

Desired Output: 
Persia 
Wales 
Bel-Air 
Egypt 

我卡在如何只讀僅使用下劃線區域的每一行的第三個字。我知道如何用getLine或三個獨立的字符串讀取整行,我們每次只能輸出第三個字符串,但由於我們不允許修改其他任何字符,所以我迷路了。

+1

同時,我們也不允許使用任何來自任何圖書館除了什麼已經包含 – Sam

回答

3

如何:

while(infile>>s && infile>>s && infile>>s) 

這可能破壞第2的價值觀?

+0

啊,那說得通。完美,謝謝! – Sam

+2

你不需要'&&'。只需使用infile >> s >> s >> s – zdan

+1

這也可能起作用。 – ergonaut

0

而(!(infile.eof())|| ++ X%3) 可能工作