【发布时间】:2019-05-01 01:43:17
【问题描述】:
我有兴趣从用户那里收集密码。
当提示用户输入密码时,我想为他们输入的每个字符回显 *(星号)。
void changeEcho() {
termios term;
tcgetattr(STDIN_FILENO, &term);
term.c_lflag &= ~ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &term);
}
我知道这会关闭回显,但我有兴趣回显我选择的内容,在我的例子中是“*”。
【问题讨论】:
-
这不是一种回声。程序通过简单地编写
*来响应它们读取的每个字符而不回显来做到这一点。 -
我不确定我理解你的意思。当我有闪烁的光标并输入“密码”时,我想在终端中看到“********”。每次按一个键一个 *。