我知道当你输入标准的ANSI C时,回显*是不可能的。但是,当有人在控制台中输入密码时,有没有办法什么也不显示呢?我的意思是,就像Unix/Linux终端中的sudo提示符。例如,如果您键入命令:sudo cp /etc/somefile ~/somedir。系统通常会提示您输入root密码。当你输入的时候,终端什么也不显示。这种效果在C中是可能的吗?如果是,是如何实现的?
发布于 2010-04-14 09:31:50
穷人的方法是逐个字符地读取用户输入的字符,并在接收到每个字符后打印出一个退格字符,后跟*。从技术上讲,输出被发送到控制台,但它会立即被一个星号擦除和覆盖(通常在该帧被绘制到屏幕上之前)。请注意,这并不是一种真正的安全方法,并且有几个安全漏洞,但对于低技术、低安全性的应用程序,它是有效的。
https://stackoverflow.com/questions/2634203
复制相似问题