以下内容摘自 beginning linux programming
#include <termios.h>
#include <stdio.h>
#include <stdlib.h>
#define PASSWORD_LEN 8
int main()
{
struct termios its,newits;
char password[PASSWORD_LEN+1];
tcgetattr(fileno(stdin),&its);
newits = its;
newits.c_lflag &= ~ECHO;
printf("enter password: ");
if(tcsetattr(fileno(stdin),TCSAFLUSH,&newits)!=0)
{
fprintf(stderr,"could not set attributes\n");
}
else
{
fgets(password,PASSWORD_LEN,stdin);
tcsetattr(fileno(stdin),TCSANOW,&its);
fprintf(stdout,"\nYou enter %s\n",password);
}
exit(0);
}
解释: X &= ~FLAG(波浪线) 它的作用是清楚变量X中由FLAG标志定义的比特。
本文介绍了一个使用C语言实现的密码输入程序。该程序通过禁用屏幕回显来隐藏用户输入的密码,确保密码的安全性。文章展示了如何利用termios库修改终端属性,并在用户输入完成后恢复这些属性。
7128

被折叠的 条评论
为什么被折叠?



