按住屏幕以接受箭头键

时间:2015-08-09 21:01:10

标签: c++ arrow-keys getch

使用箭头键,首先必须存储它以进行分析。这就是我使用scanf存储它的原因。 但是当我尝试运行此代码时,当我按下键时,它显示^[[A,当我按Enter键时,此^[[A删除并编程退出而不打印{{1}的printf语句}和printf("%s",c).

printf("UP\n").

1 个答案:

答案 0 :(得分:1)

如果您使用ncurses库,您会发现很容易。只需浏览documentation即可了解如何安装它。 安装后阅读Interfacing with the key board

上的部分

以下是示例代码

#include <ncurses.h>
int main()
{
    int ch;

    initscr();
    raw();
    keypad(stdscr, TRUE);
    noecho();

    while(1)
    {
        ch = getch();

        switch(ch)
        {
            case KEY_UP: 
                printw("\nUp Arrow");
                break;
            case KEY_DOWN: 
                printw("\nDown Arrow");
                break;
            case KEY_LEFT: 
                printw("\nLeft Arrow");
                break;
            case KEY_RIGHT: 
                printw("\nRight Arrow");
                break;
        }

        if(ch == KEY_UP)
            break;
    }

    endwin();
}