终端控制与curses库使用指南
1. 按键检测
在MS - DOS编程中常用的 kbhit 函数,用于检测是否有按键按下而不读取该按键。但在Linux中并没有直接等效的函数。UNIX编程通常不会依赖这种函数,因为UNIX程序很少进行忙等待。不过,在将MS - DOS程序移植到Linux时,模拟 kbhit 函数是很有用的,可通过非规范输入模式实现。
以下是模拟 kbhit 函数的代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <term.h>
#include <curses.h>
#include <unistd.h>
static struct termios initial_settings, new_settings;
static int peek_character = -1;
void init_keyboard();
void close_keyboard();
int kbhit();
int readch();
int main()
{
int ch = 0;
init_keyboard();
while(ch != 'q') {
printf("looping\n");
sleep(1);
if(kbhit()) {
ch = readch();
超级会员免费看
订阅专栏 解锁全文
1

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



