将整数读入不同的向量

Zen*_*rui 2 c++ vector

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

这是我的代码:

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);
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我输入数字1 2 3 4 5,然后按ctrl+z结束我的输入vector1.但它无法读取整数vector2,程序结束了.

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

Ben*_*ley 5

按ctrl-z后,cin进入错误状态(eof并失败).只要它处于此状态,所有输入操作都将失败.您需要清除错误状态.

cin.clear();
Run Code Online (Sandbox Code Playgroud)

然后你应该能够再次阅读它.