2015-10-13 141 views
0
{ 
    int val; 
    string str; 
    cin >> val;  
    cin >> str; 
} 

當我編寫C++程序時,遇到了一個問題。 我定義了一個int變量「val」,我寫這個:cin >> val,但是我輸入的是'g'。 當我寫下一條語句時,cin >> str; cin再次直接使用'g',但這不是我想要的。如何清除cin的緩衝區?

我想清除cin緩衝區,以便我可以輸入str的正確數字。

我找到了解決這個問題的辦法。下面是解

{ 
    int val; 
    string str; 
    cin >> val;  
    cin >> str; 
} 

現在我想知道,如果存在更多更好的方式以及如何清除Linux上

由於當前緩衝區!

+0

您的代碼完全相同。 – Petr

+0

不是一個好的重複:那就是C,這是C++。 – Bathsheba

回答

1
cin>>val;  
cin.clear(); 
cin.sync(); 
// ...