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

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

【讨论】:

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

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