从使用getline()的文件中读取第二个整数

时间:2012-12-24 15:42:34

标签: c++ 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;

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

第二行包含第二个整数,因此您需要skip a line

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

然后你需要将整数读入变量

int number= 0;
file>> number;

现在你在number中有第二个整数。