捕获标准输入而不将字符回显到屏幕

Posted

技术标签:

【中文标题】捕获标准输入而不将字符回显到屏幕【英文标题】:Capture stdin input without echoing characters to screen 【发布时间】:2011-03-05 15:27:20 【问题描述】:

我有一个非常简单的代码:

char character;    
std::cin >> character;

但是,我希望它的行为如下:

    不要回显来安慰我输入的字符 std::cin 应在按下字符时立即返回(解除阻止),而无需按 Enter

这可能吗?我也可以访问 Qt。

【问题讨论】:

红帽。也想知道 Windows 的情况。 您是要获取字符还是字符串/行? getc() 将捕获单个字符。 我正在尝试获取单个字符。 +1。为什么投反对票?这是一个有效的问题,并且问得相当好。 @Amardeep:有很多愤怒的程序员。 ;-) 【参考方案1】:

这将取决于平台,但您可以使用

getch() 如果您在 Windows 上,它是 conio.h 的一部分

getch() 作为 curses.h 的一部分,如果你在 *nix 上

参考文献

http://opengroup.org/onlinepubs/007908799/xcurses/curses.h.html http://en.wikipedia.org/wiki/Conio.h

【讨论】:

这个答案简洁明了,非常棒。

以上是关于捕获标准输入而不将字符回显到屏幕的主要内容,如果未能解决你的问题,请参考以下文章

Win 批量读取文件 - 不将输入保存到其他文件

单击收音机并将值回显到 php(wordpress 主题)

如何在 C++ 中拆分字符串而不将其他库安装到标准 Ubuntu 版本? [复制]

Python,“过滤”行编辑,按字符读取标准输入,没有回声

前端使用富文本编辑器输入内容回显到页面带格式

将 ant 文件集回显到屏幕以进行调试