gpt4 book ai didi

c - 如何检测C中的ESC键?

转载 作者:行者123 更新时间:2023-12-01 17:26:30 25 4
gpt4 key购买 nike

我写了一段代码来使用 _getch(); 检测箭头键我也希望检测 esc 键,但我实际上不知道我应该使用的数字是多少,因此我们不胜感激。

#include <conio.h>
#include <stdio.h>
#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77

int c = 0;
_getch();
switch ((c = _getch())) {
case KEY_UP:
printf("Up\n");
break;
case KEY_DOWN:
printf("Down\n");
break;
case KEY_LEFT:
printf("Left\n");
break;
case KEY_RIGHT:
printf("Right\n");
break;
default:
printf("Null\n");
break;

每个箭头键都是 ASCII 码 224 和定义的两个字符的组合(注意第一个 _getch(); )但我不知道对于转义键,我尝试搜索但没有找到它们的完整列表会很有帮助。

谢谢。

最佳答案

Up,Down,Left,Right被称为扩展 key ,要检测它们,您必须阅读两个 Char第一个是 Null第二个是 ASCII代码但是 ESC不是扩展 key ,因此您只需使用一个 char 即可检测到它.

我希望该代码可以帮助您:

#include <stdio.h>
#include <stdlib.h>

#define esc 27

int main()
{
char ch;
do
{
ch = getch();
switch(ch)
{
case esc:
// your logic goes here
break;
}
}
while(exitflag != 1);
}

关于c - 如何检测C中的ESC键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34209854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com