全面掌握终端控制
1. 终端输入处理与特殊字符
在程序运行时,若用户输入 Ctrl+C ,默认情况下程序会终止。不过,我们可通过清除本地模式中的 ISIG 标志来禁用对这些特殊字符的处理。在 main 函数中添加如下代码:
new_settings.c_lflag &= ~ISIG;
将此更改应用到菜单程序后,程序会立即响应输入,且输入的字符不会被回显。例如:
$ ./menu4
Choice: Please select an action
a - add new record
d - delete record
q - quit
You have chosen: a
Choice: Please select an action
a - add new record
d - delete record
q - quit
You have chosen: q
$
若输入 Ctrl+C ,它会被直接传递给程序,并被视为错误选择。
2. 终端输出控制
借助 termios 结构,我们能够控制键盘输入。但对于程序在屏幕上的输出呈现方式,也期望有同样精细的控制。此前使用 printf 输出字符到屏幕,却无法将输出放置在屏幕的特定位置。
3. 终端类型与多样性问题
许多 UNI
超级会员免费看
订阅专栏 解锁全文
4820

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



