可能重复:
阅读从STD密码:: CIN
我试图做一个简单的密码的程序,所以我可以熟悉C ++,但我有一点问题的。 在这段代码中,我要求他们选择用户输入密码,然后他们进入。 我想代码做的是隐藏输入( 不带* S取代它),但仍显示出光标,和上面的文字,之前,并输入密码后,像这样的:
Please enter password: [don't show input]
Please re-enter password: [don't show input]
我怎样才能做到这一点? 我使用Linux,所以我将不能使用任何Windows库(WINDOWS.H等)。
你不能做到这一点,直接使用CIN。 你得去“低”。 尝试调用这些函数:
#include <termios.h>
...
void HideStdinKeystrokes()
{
termios tty;
tcgetattr(STDIN_FILENO, &tty);
/* we want to disable echo */
tty.c_lflag &= ~ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &tty);
}
void ShowStdinKeystrokes()
{
termios tty;
tcgetattr(STDIN_FILENO, &tty);
/* we want to reenable echo */
tty.c_lflag |= ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &tty);
}
你会想打电话tcsetattr
和修改ECHO
标志。