0
這裏是我的代碼。(我問了一個完全不同的問題,這是不明確,標註重複,而且由於不熟悉,我編輯它,所以它看起來是一樣的,因爲這一個。對不起了點。)有什麼辦法可以忽略「Ctrl + Z」發送的字符並從istream讀取數據?
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
int i;
vector<int> v1;
vector<int> v2;
cout << "enter elements for v1" << endl;
while (cin >> i) {
v1.push_back(i);
}
cout << "enter elements for v2" << endl;
//I try to ignore character(s) sent by "Ctrl+Z"
cin.clear();
/*cin.sync();*/
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\0x1A');
cin.ignore(std::numeric_limits<std::streamsize>::max(), EOF);
cin >> i;
while (cin >> i) {
v2.push_back(i);
}
for (auto c : v1) {
cout << c << " ";
}
cout << endl;
for (auto c : v2) {
cout << c << " ";
}
cout << endl;
}
我想按1 2 Ctrl + Z爲v1添加元素,然後按3 4 Ctrl + Z爲v2添加元素,但最終會得到一個空矢量v2。有什麼辦法可以做到這一點?爲什麼我採取的方法不起作用?