test13_2.txt

来自「嵌入式c源码」· 文本 代码 · 共 36 行

TXT
36
字号

#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#define  PASS_LEN 8

void err_quit(char *msg,struct termios flags);

int main( )
{
	struct termios old_flags,new_flags;
	char password[PASS_LEN+1];
	int retval;

	togetattr(fileno(stdin),&old_flags);
	new_flags=old_flags;
	new_flags.c_lflag&= ~ ECHO;
	new_flags.c_lflag |= ~ ECHONL;
	retval=tcsetattr(fileno(stdin),TCSAFLUSH,&new_flags);
	if(retval!=0)
		err_quit("Failed to turn off ECHO",old_flags);
	if(!new_flags.c_lflag&ECHONL)
		err_quit("Failed to turn on ECHONL",old_flags);
	fprintf(stdout, "You typed:%s",password);
	tcsetattr(fileno(stdin),TCSANOW,&old_flags);
		
	exit(EXIT_SUCCESS);
}

void err_quit(char *msg,struct termios flags)
{
	fprintf(stderr, "%s\n",msg);
	tcsetattr(fileno(stdin),TCSANOW,&flags);
	exit(EXIT_FAILURE);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?