📄 p9-7.c
字号:
#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <termios.h>struct termios saved_attributes; /* 用该变量保存原来的终端属性 */void reset_input_mode (void){ tcsetattr (STDIN_FILENO, TCSANOW, &saved_attributes);}void set_input_mode (void){ struct termios tattr; char *name; /* 保证stdin 是终端 */ if (!isatty (STDIN_FILENO)) { fprintf (stderr, "Not a terminal.\n"); exit (EXIT_FAILURE); } /* 保存终端属性以便以后恢复*/ tcgetattr (STDIN_FILENO, &saved_attributes); atexit (reset_input_mode); /* 设置终端为非加工、不回显方式 */ tcgetattr (STDIN_FILENO, &tattr); tattr.c_lflag &= ~(ICANON|ECHO); /* 清除 ICANON和ECHO */ tattr.c_cc[VMIN] = 1; tattr.c_cc[VTIME] = 0; tcsetattr (STDIN_FILENO, TCSAFLUSH, &tattr);}int main (void){ char c; set_input_mode(); while (1){ read (STDIN_FILENO, &c, 1); if (c == '\004') /* Ctrl-d */ break; else printf("I read %c\n",c); } return EXIT_SUCCESS; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -