上下左右箭头的ASC码是多少?

xiaorou00 2002-08-19 04:32:58
上下左右箭头的ASC码是多少?
...全文
2194 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
n5 2002-08-19
  • 打赏
  • 举报
回复
上下左右的ASCII码真的是24,25,26,27吗?难道我的ASCII码表太旧了?
leonhome 2002-08-19
  • 打赏
  • 举报
回复
上下左右的ASCII码为:24,25,26,27
不过这样是不是更容易些
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77。

main(){
char key;
while(1){
if(kbhit()) {
key=getch();
switch(key){
case UP:操作1;
case DOWN:操作2;
case LEFT:操作3;
case RIGHT:操作4;
}
}
}
}
虽然这不是上下左右的ASCII码,但可以应付所有操作。
waYeah 2002-08-19
  • 打赏
  • 举报
回复
一个更简单的方法.在tc2.0下通过:

#include<conio.h>

void main()
{
int i;

i = getch();
if( i == 0)
i = getch();

printf("%d\n",i);
}
fangrk 2002-08-19
  • 打赏
  • 举报
回复
#include <bios.h>
void main()
{ int key;
const int ALT_X=0x2d00;
for(;;){
key=bioskey(0);
printf("0x%4x\n",key);
if(key==ALT_X) break;
}
}
n5 2002-08-19
  • 打赏
  • 举报
回复
ASC码是不是ASCII码?如果不是,诉本人孤陋寡闻。但就ASCII码来说,我找遍
ASCII码表也没找到光标键的编码。27是ESC键我知道,24是can,25是em,26是
sub,他们是什么我不知道,但我想应该不是光标键吧。

我记得利用bios中断0x13是键盘I/O,TC的库函数bioskey可以获得按键的编码。
其中光标键是功能键只能得到它的扩充码
如:
#include <bios.h>

main()
{
int key,quit=0 ;
while(quit==0)
{
while(bioskey(1)==0) ;
key=bioskey(0) ;
if (key&0x00ff)
{
char asc=key&0x00ff ;
switch (asc)
{
case 8:
//回退键
break ;
case 9:
//TAB
break ;
case 13:
//Enter
break ;
case 32:
//space
break ;
case 27:
//ESC
quit=1 ;
break ;
}
}
else /*如果是功能键*/
{
switch(key&0xff00)>>8) /*取得其扩充码*/
{
case 71: //HOME
case 79: //END
case 82: //INSERT
case 83: //Delete
case 73: //PageUp
case 81: //PageDown
case 72: //光标键 UP
case 80: //Down
case 75: //Left
case 77: //Right
break ;
}
}
}
}


如果ASC确实是另一种编码方案,请高手指明
dcyu 2002-08-19
  • 打赏
  • 举报
回复 1
24~27
如果是c=getch();
c的取值就是72,80,75,77。
cloud_soft 2002-08-19
  • 打赏
  • 举报
回复
24,25

70,025

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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