cin 跟getline 混合使用的疑问

cin 和getline 混合使用的疑问举例int nstring sifstream in(in.txt)inngetline(in,s)----------

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;
}