第一次循环时,getline无法输入
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
getline(cin, str);
cout << str << endl;
}
return 0;
}
在调试中发现在第一次执行循环时,执行到了getline(cin,str);但是无法输入,而是直接录入了一个换行。
原因:
cin >> n; 完成后,会产生了一个回车,
导致第一次getline,得到的是空行。
修改方法
在for循环前面加上一个
getline(cin, str);