vector<int> var;
int numb;
cout<<"Enter numbers: ";
//While loop for inputting integers with space and pushing it to vector
while(cin>>numb){
var.push_back(numb);}
insertionSort(var);
for(int a=0;a<var.size();a++){
cout<<var[a]<<" ";
}
如何使用“回车键”终止while循环而不使用Ctrl + Z?
答案 0 :(得分:1)
peek
查看下一个字符而不将其拉出缓冲区。 '\n'
是编译目标字符集和编码的换行符。所以,这段代码允许:
while (cin.peek() != '\n' && cin >> numb) {
var.push_back(numb);
}
答案 1 :(得分:0)
正常的方法是使用EOF,例如从键盘发送Ctrl-D应该适用于cin。您不需要输入密钥。但是,当然,您可以使用getline(),并在空行上终止。
答案 2 :(得分:0)
创建一个名为running的bool,将其设置为true。将while循环的条件更改为
while (yourcondition && running == true)
在你的while循环中,检查输入是否是回车键(它将具有ASCII值,查找它,它可能是13)。当输入密钥输入到您的程序时,将此运行bool设置为false。
if (input == enter)
running = false;
这会导致while循环的下一次迭代失败,并继续执行程序的其余部分,例如,可以使用return 0;退出。