C++中如何定义并连续输入两个vector

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:20:08
输入一个vector,系统看到什么自动终止该个vector的输入并进行下一步操作?
1楼的,输入完一个vector后如何输入另外一个vector?

#include <iostream>
#include <vector>

using namespace std;

int main()
{
vector<int> ivec1, ivec2;

int tmp;

while (cin >> tmp)
{
ivec1.push_back(tmp);
//do something;
}
cin.clear(); //关键是这里~~
while (cin >> tmp)
{
ivec2.push_back(tmp);
//do something;
}

vector<int>::iterator it;

cout << "vector1: ";
for (it = ivec1.begin(); it != ivec1.end(); ++it)
{
cout << *it << " ";
}

cout << endl;

cout << "vector2: ";
for (it = ivec2.begin(); it != ivec2.end(); ++it)
{
cout << *it << " ";
}

cout << endl;
return 0;

}

源码如上:
注意cin.clear()那个函数的使用,由于输入ctrl + z后,流呈错误的状态,现在使用cin.clear()可以重新进行输入,以使第2个vector开始接收数