【C++】输入函数 cin , getchar() , getline() 的使用

一、cin与getline()连用时需要在中间加一个getchar()去吞换行符

因为cin输入完后,回车,cin遇到回车结束输入,但回车还在输入流中,cin并不会去清除这个回车,导致getline()读取回车,结束。
所以需要在cin后面加getchar();主动删除输入流中的换行符。

int n;
string s;
cin >> n;
getchar();
getline(cin, s);//可正确读入下一行的输入

二、两个getline()可以直接连用

因为getline()会清除输入结束时的 换行符,所以连用多个getline()都没有关系

string a, b;
getline(cin, a);
getline(cin, b);

 

你可能感兴趣的:(C++,c++)