对于使用箭头键,首先必须存储它以分析它。这就是为什么我使用scanf
来存储它。但是当我尝试运行这段代码时,当我按下向上键时,它显示^[[[A
,当我按下回车键时,这个^[[A
删除并退出程序,而不打印printf的printf语句("%s", c).
和printf("UP\n").
#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库,您会发现这很容易。只需浏览文档,了解如何安装它。安装后,阅读与键盘接口部分
下面是一个示例代码
#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();
}
问题内容: 我正在尝试创建一个简单游戏的开始。我要做的第一件事是将图形导入到我的代码中,然后在屏幕上移动它。我能够在屏幕上画一个球并四处移动,但是当我从文件导入图形时,无法四处移动。我想念什么或做错什么? 我的司机是在另一个班级,如下所示: 问题答案: 这里有两个大问题: 您正在从中读取文件。 永远 不要这样做,因为这会不必要地减慢绘图速度。可能在构造函数中读取一次图像,然后在图形中使用存储的im
我试图模拟在rad grid控件(Telerik)的文本区域中按下左右箭头键。 我有一个特定于浏览器Firefox的错误,其中选项卡事件(修复了此部分)和箭头键将不起作用。所有其他浏览器工作正常。 因此,作为一种解决方法,我想使用JavaScript或jquery模拟箭头键。 下面是我使用包含的选项卡事件修复程序所做的工作。除此之外,我还检查按键代码37(这是左箭头键)是否被按下。此时,我想模拟文
我正在尝试用Agora构建一个视频通话应用程序,我需要在用户呼叫时显示像WhatsApp这样的接受屏幕,如果应用程序退出,我需要在用户呼叫时显示呼叫屏幕,我尝试了很多东西,但都不起作用,我试图做我颤抖,但这方面没有太多信息,请帮助我
问题内容: 我正在尝试创建类似于konami代码“向上,向上,向下,向下,a,b,a,b,enter”的交互->发生了某些情况。 是否可以使用ng-keypress收听箭头按键?似乎不起作用? 的HTML: s 这不会注销箭头键事件吗? 我是否必须在窗口上推出自己的听众?如果是这样,我如何才能做到这一点? 问题答案: 演示 编辑 从更改为 DEMO
我正在尝试在Google Drive上备份我的android应用程序的应用程序数据。因此,我请求访问https://www.googleapis.com/auth/drive.appdata, https://www.googleapis.com/auth/drive.file使用google_sign_in包的作用域。 我在Google Developer Console上创建了一个项目,启用了
问题内容: 如何检测何时按下箭头键之一?我用它来找出: 尽管它适用于所有其他键,但不适用于箭头键(可能是因为默认情况下浏览器应该在这些键上滚动)。 问题答案: 箭头键仅由触发,而不由触发。 关键代码为: left = 37 up = 38 right = 39 down = 40