c++ - 如何防止 cin 的控制台输出

标签 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);
}

因此,如果用户死死盯着键盘,在按下 ENTER 之前什么也不会发生。这目前效果很好,但 cin 会将按键转储到控制台。如何防止这种行为?


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

最佳答案

在 Windows 上,您需要 SetConsoleMode .

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

关于c++ - 如何防止 cin 的控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4230216/

相关文章:

c# - C# 和 C++ 中的分部类在多个 CPP 文件中定义的函数是否相同?

c++ - 从另一个进程设置 HWND 的 lpfnWndProc

c++ - 在 C++ 结构中处理未知类型的最佳方法是什么?

c++ - cin.get() 有效但 cin.getline() 无效。我对 cin.getline() 做错了什么或误解了什么?

Python - 石头剪刀布游戏

c++ - 没有正确处理用户输入

c++ - Boost 库在 Windows 上未正确链接

c++ - 重载 -> 和 * : how to access initial class?

C++ 如何将用户输入的字符串拆分为多个字符串

c++ - cin.getline() 奇怪的行为