如何防止cin的控制台输出

Urd*_*rda 0 c++ user-input

如何防止cin在C++中打印到控制台屏幕?鉴于这个简单的程序:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello World..." << endl;

    cin.clear();
    cout << "Press ENTER to Continue..." << endl;
    cin.ignore();

    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

因此,如果用户在键盘上卡住,则在ENTER按下之前不会发生任何事情.这当前工作得很好,但cin将按键转储到控制台.我该如何防止这种行为?


编辑:我在Visual Studio 2010中工作,我问这个简单的问题,因为我想要的东西不是特定于平台的.

Ben*_*igt 5

在Windows上,您需要SetConsoleMode.

没有标准的平台独立方式,当然您可以编写自己的disable_echo()功能并使用#if _WIN32#if __LINUX__提供独立于平台的接口的特定于平台的实现.