gpt4 book ai didi

c++ - 按住屏幕接受方向键

转载 作者:太空狗 更新时间:2023-10-29 23:01:05 25 4
gpt4 key购买 nike

为了使用箭头键,首先必须存储它以供分析。这就是为什么我使用 scanf 来存储它。但是当我尝试运行这段代码时,当我按下向上键时,它显示 ^[[A 当我按下回车键时,这 ^[[A 删除并且程序退出而不打印 printf("%s",c).printf("UP\n").

的 printf 语句
#include <stdio.h>
int main()
{
char c[50];
scanf("%s",&c);
printf("%s",c);
if (getch() == '\033'){ // if the first value is esc
getch();// skip the [
getch();// skip the [
switch(getch()) { // the real value
case 'A':
printf("UP\n");
break;
case 'B':
printf("DOWN\n");
break;
}
}
return 0;
}

最佳答案

如果您使用 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();
}

关于c++ - 按住屏幕接受方向键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31908800/

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