C语言下控制台界面方向键的键值是多少
C语言下控制台界面方向键的键值是多少
为了说清楚问题,我敲了个小代码:
#include <stdio.h>
#include <conio.h>
void main()
{
char key;
key=getch();
if (key=='\024') //我查的ASCII码向上的键是24,可是不行,是不是我哪写错了.
printf("1111111111");
else
printf("2222222222");
}
[解决办法]
不知道lz是从哪份资料查到的?就我所知的,扩展按键需要两次getch捕获。也可以使用bioskey。
下面是一段方向键示例,供参考:
- C/C++ code
int main(){ int ch; while( (ch=getch())!=0x1B ) /* Press ESC to quit... */ { switch(ch) { case 0xE0: switch(ch=getch()) { case 72: printf("UP\n"); break; case 80: printf("DOWN\n"); break; case 75: printf("LEFT\n"); break; case 77: printf("RIGHT\n"); break; default: break; } break; default: break; } }}/* 其实,可以用这么一小段程序取得可以检测到的任何按键的代码 */while((ch=getch())!=0x1B) /* ESC to quit */{ printf("%d ", ch);}