2016-10-20 47 views
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。有什麼辦法可以做到這一點?爲什麼我採取的方法不起作用?

回答

相關問題