Linux环境 C 程序实现密码隐秘输入
读写用户输入,屏幕不回显
char *getpass( const char *prompt);
getpass用于从键盘读取用户输入,但屏幕不回显。
参数prompt为屏幕提示字符。
函数返回值为用户键盘输入的字符串。
屏幕不回显指的是,用户输入的内容,不会显示任何提示信息,就是在Linux中切换用户时,输入密码不现实一样。
程序如下:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char *args[])
{
// 调用getpass函数
// 函数的参数是提示信息
// 函数的返回值是用户输入的内容
char *password = getpass("Input your password : ");
// 输出用户输入的信息
printf("password = %s\n", password);
return 0;
}
编译并执行程序:
[linuxidc@linuxidc mycode]$ gcc -o main main.c
[linuxidc@linuxidc mycode]$ ./main
Input your password : ------------这里输入内容不会回显
password = 123456