【现象】
对于代码块:
int x;
vector<int> vi;
while(cin>>x)
{
vi.push_back(x);
}
期望的情景是输入数据接着输入回车之后,跳出循环,继续运行下面的代码。但是,极少数的时候是按照这个逻辑来处理的,大部分情况下,输入回车之后根本不能跳出循环。
【对策】
1.使用getchar()或者getline()函数。
【问题】
【分析】
有的人给出的解决方案是:输入完数据后->回车->ctrl+z->回车->回车。
这种方法虽然说也能够跳出循环,但不是我希望的处理流程:输入完数据->回车->跳出循环。