2012-12-24 72 views
0

我有一個文本文件,可以在下面看到。我希望讀取文件,然後使用文件中的第二個整數。然而,我目前使用的代碼只是第一個整數和字符串。雖然我希望它採取第二個整數和字符串。從使用getline的文件中讀取第二個整數()

所以我的問題是,這怎麼可能?並且可以通過getLine()完成嗎?

,我想讀和代碼可以看到下面的文件:

文件:

10202 CE151 17.5 
10105 CE151 99.9 
10202 CE151 5.6 
10406 CE301 59.8 
10103 CE151 75.5 
10709 CE204 67.2 

代碼:

string mod; 
float mark; 

getline(file2, s2); 
istringstream line(s2); 
line >> mark; 
line >> mod; 

cout << mod << endl; 
cout << mark << endl; 
+0

我很困惑。你說的是整數,但是'mark'是一個'float',每一行的第二個數字不是一個整數...你是否想要讀取第二個*數字*(而不是*整數*)? – Cornstalks

回答

0
line >> reg; 
line >> mod; 
line >> mark; 

cout << reg << endl; 
cout << mod << endl; 
cout << mark << endl; 
0

第二個整數是在第二行,所以你需要skip a line

(#include <limits> header for this) 
file.ignore(std::numeric_limits<std::streamsize>::max(), '\n') 

然後,你需要閱讀的整數轉換爲可變

int number= 0; 
file>> number; 

現在,你必須在number第二個整數。