Disable the echo output from the Linux terminal-general Linux technology-Linux programming and kernel information. For more information, see the following. The Termios structure is a standard interface defined in the POSIX specification. You can control the terminal interface by setting the data structure value of the termios type and calling related functions. The output ECHO of the control terminal mainly uses the macro ECHO of c_lflag available in "Local Mode". The ECHO macro is defined as: enable the local ECHO function of input characters.
The most common application of this function is to control the echo of the input password. For example, the password entered when you log on to MySQL through $ sudo/etc/** is not displayed.
The definition of the termios structure is included in the termios. h header file. You can view the Code directly:
CODE: # include # Include # Include
# Define PASSWORD_LEN 12
Int main (){ Struct termios initialrsettings, newrsettings; Char password [PASSWORD_LEN + 1]; Tcgetattr (fileno (stdin), & initialrsettings); # Get the termios structure and save Newrsettings = initialrsettings; Newrsettings. c_lflag & = ~ ECHO; # Clear the bits defined by ECHO in the variable c_lflag Printf ("Please Enter Password :"); If (tcsetattr (fileno (stdin), TCSAFLUSH, & newrsetush )! = 0 ){ Fprintf (stderr, "cocould not set arrributes \ n "); } Else { Fgets (password, PASSWORD_LEN, stdin ); Tcsetattr (fileno (stdin), TCSANOW, & initialrset.pdf); # restore the previous termios Structure Fprintf (stdout, "\ nYou entered % s as the password \ n", password ); } Exit (0 ); } |