以下内容摘自 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标志定义的比特。