c語(yǔ)言如何按下esc退出程序

在C語(yǔ)言中,要實(shí)現(xiàn)按下ESC鍵退出程序,可以通過(guò)檢測(cè)終端輸入的事件來(lái)實(shí)現(xiàn)。下面是一個(gè)簡(jiǎn)單的示例,使用`termios`庫(kù)來(lái)讀取鍵盤(pán)輸入,并在檢測(cè)到ESC鍵(ASCII碼...
在C語(yǔ)言中,要實(shí)現(xiàn)按下ESC鍵退出程序,可以通過(guò)檢測(cè)終端輸入的事件來(lái)實(shí)現(xiàn)。下面是一個(gè)簡(jiǎn)單的示例,使用`termios`庫(kù)來(lái)讀取鍵盤(pán)輸入,并在檢測(cè)到ESC鍵(ASCII碼為27)時(shí)退出程序。
```c
include
include
include
include
int kbhit(void) {
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if(ch != EOF) {
ungetc(ch, stdin);
return 1;
本文鏈接:http:///bian/387827.html