2017-07-07 12 views
-1

私は少しのC++を練習してきました。それは簡単なプログラムですが、私は端末で遊んでいますが、私は '入力'でパスワードを入力するときに奇妙な動作に気付きました。 「パスワードを教えてください」というメッセージが表示される前に、バッファが「トリガー」しているようです。どのように私はこの奇妙な行動を避けることができますか?cinの奇妙な振る舞い

私はC/C++開発者のための

バージョンのEclipse IDEを使用してい

:Neon.3リリース(4.6.3) ビルドID:事前に20170314から1500の

おかげ

#include <iostream> 

using namespace std; 

/* DO WHILE EXAMPLE*/ 
int main() { 

    const string password = "car"; 
    string input; 
    do { 
     cout << "Give me the password\n"; 
     cin >> input; 

    if (input != password) { 
      cout << "Incorrect Password\n"; 
    } 

    } while (input != password); 
    cout << "Correct Password"; 
    return 0; 
} 

Correct Behaviorこれは正しい動作です

Incorrect Behaviorこの不正な動作

+0

どのコンパイラを使用しますか?それはcin/coutが 'tie()'ではないように見えます。http://en.cppreference.com/w/cpp/io/basic_ios/tie – sehe

答えて

0

これは本当に奇妙です。あなたのOSや何かのために悪いコードを作成するコンパイラ以外の理由はないようです。可能であれば、Visual Studio 2017を入手することをお勧めします。

coutに書き込んだ後にお試しください。

+0

OPがWindowsを使用しているというヒントもありますか? – iehrlich

+0

いいえ、それは私が彼のために持っているすべてです。笑 – user8210143

+0

ありがとう。私はちょうどバグを報告しました – ed9uardo0