将整数读入不同的vector

Reading integers into different Vectors

本文关键字:vector 整数      更新时间:2023-10-16

我正在做一些基本的编码练习,有一个问题卡住了我。我需要从标准输入中读取随机数的整数,并将它们存储在一个向量中。然后读取第二个随机整数,并将其存储在另一个整数中。

下面是我的代码:
vector<int> i_vect1, i_vect2;
int itemp;
cout<<"Input numbers into vector1:"<<endl;
while(cin>>itemp){
    i_vect1.push_back(itemp);
}
cout<<"Input numbers into vector2:"<<endl;
while(cin>>itemp){
    i_vect2.push_back(itemp);
}

当我运行代码时,我输入了像1 2 3 4 5这样的数字,并按下ctrl+z来结束我对vector1的输入。但是它不能读取整数到vector2,程序结束。

我该怎么办?我的代码有什么问题?

按ctrl-z后,将cin置于错误状态(eof和fail)。只要它处于这种状态,所有输入操作都将失败。您需要清除错误状态。

cin.clear();