C++ cin的奇怪行为
我一直在练习一点C++。这是一个简单的程序,但我一直在玩终端,我注意到在“输入”中输入密码时有一个奇怪的行为。缓冲区似乎在“给我密码”消息之前“触发”。我怎样才能避免这种奇怪的行为 我正在为C/C++开发人员使用EclipseIDE 版本:Neon.3发行版(4.6.3) 构建id:20170314-1500 提前谢谢C++ cin的奇怪行为,c++,buffer,cin,flush,C++,Buffer,Cin,Flush,我一直在练习一点C++。这是一个简单的程序,但我一直在玩终端,我注意到在“输入”中输入密码时有一个奇怪的行为。缓冲区似乎在“给我密码”消息之前“触发”。我怎样才能避免这种奇怪的行为 我正在为C/C++开发人员使用EclipseIDE 版本:Neon.3发行版(4.6.3) 构建id:20170314-1500 提前谢谢 #include <iostream> using namespace std; /* DO WHILE EXAMPLE*/ int main() {
#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;
}
#包括
使用名称空间std;
/*以身作则*/
int main(){
const string password=“car”;
字符串输入;
做{
cout>输入;
如果(输入!=密码){
cout这真的很奇怪。除了编译器为您的操作系统或其他东西生成错误代码之外,似乎没有其他原因。如果可能的话,我建议使用Visual Studio 2017
在您向cout写入内容后,请尝试等待。是否有任何提示OP使用Windows?谢谢。我刚刚报告了错误,我刚刚注意到您没有包含字符串头。这可能是个问题。我没有安装它。我对Eclipse没问题。顺便说一句,我添加了字符串头,没有任何更改。无论如何,谢谢:)您使用的编译器是什么?它看起来不错像cin/cout一样,它们不是tie()
d