我正在编写一个C程序,它需要在程序执行期间隐藏用户在屏幕上键入的字符。例如,运行以下循环时
while (1)
{
//do some work
}
控制台显示闪烁的光标(表示良好)。但是,当用户在键盘上键入键时,这些键将被回显到控制台。更好地可视化:
第1步:启动程序
root@debian:/home/root# ./program
_
第2步:用户输入一些字符(即使他不应该)
root@debian:/home/root# ./program
AdajfsaSJ_
字符在控制台上回显。我怎么能阻止这个?我知道它在理论上是可行的,但我无法找到如何实现它。
如果您需要更好的示例来实现我想要实现的目标,请在空串行端口上使用screen
命令。例如screen /dev/tty30
。这会清空控制台并运行程序,但是,用户无法输入任何字符(这里有一个闪烁的白色光标块,并且没有键盘字符回显到控制台)。这就是我的需要。
任何见解都会有所帮助,谢谢!