C语言下控制台界面方向键的键值是多少

w66187564 2008-01-21 12:49:35
C语言下控制台界面方向键的键值是多少
为了说清楚问题,我敲了个小代码:
#include <stdio.h>
#include <conio.h>
void main()
{
char key;
key=getch();
if (key=='\024') //我查的ASCII码向上的键是24,可是不行,是不是我哪写错了.
printf("1111111111");
else
printf("2222222222");
}
...全文
508 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltc_mouse 2008-01-21
  • 打赏
  • 举报
回复 1
不知道lz是从哪份资料查到的?就我所知的,扩展按键需要两次getch捕获。也可以使用bioskey。
下面是一段方向键示例,供参考:

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);
}
cnzdgs 2008-01-21
  • 打赏
  • 举报
回复
我不知道键码是什么,
我只知道\024是8进制数。

65,202

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧