我一直在練習一點C++。這是一個簡單的程序,但是我已經玩過終端,並且在'輸入'中輸入密碼時我注意到了一種奇怪的行爲。看起來緩衝區在'給我密碼'消息之前'觸發'。我怎麼能避免這種奇怪的行爲?cin的奇怪行爲
我使用的Eclipse IDE的C/C++開發人員
版本: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;
}
這是正確行爲
這是不正確的行爲
你使用什麼編譯器?它看起來像cin/cout不是'tie()'d http://en.cppreference.com/w/cpp/io/basic_ios/tie – sehe