读书人

cin 跟getline 混合使用的疑问

发布时间: 2013-01-06 15:44:48 作者: rapoo

cin 和getline 混合使用的疑问
举例
int n;
string s;

ifstream in("in.txt");
in>>n;
getline(in,s);

---------------
in.txt内容
___
3
sadhhh


读取3后依然停留在第一行 这时候getline还是读取的第一行
该怎么处理让它从下一行开始getline呢
[解决办法]
换行符没有过滤掉,这样改:


#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
int n;
char c;
string s;

ifstream in("in.txt");
in >> n;
c = in.get();
getline(in, s);

cout << n << endl;
cout << s << endl;

return 0;
}

读书人网 >C++

热点推荐