如何防止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中工作,我问这个简单的问题,因为我想要的东西不是特定于平台的.
在Windows上,您需要SetConsoleMode.
没有标准的平台独立方式,当然您可以编写自己的disable_echo()功能并使用#if _WIN32并#if __LINUX__提供独立于平台的接口的特定于平台的实现.
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |