当前位置:  开发笔记 > 编程语言 > 正文

如何在C中检测ESC键?

如何解决《如何在C中检测ESC键?》经验,为你挑选了1个好方法。

我写了一段代码来检测箭头键使用_getch();,我也希望检测esc键,但我实际上不知道我应该使用的数字是什么,所以任何帮助表示赞赏.

#include 
#include 
#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();),但我不知道对于转义键,我尝试搜索但没有找到它们,这些的完整列表将如此很有帮助.

谢谢.



1> Ahmed Lotfy..:

Up,Down,Left,Right被称为扩展密钥并检测它们你需要读取两个Char第一个是Null第二个是ASCII代码但ESC不是扩展密钥,所以你只能用一个检测它char.

我希望代码可以帮助您:

#include 
#include 

#define esc 27

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

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有