首先,可以检测任何按键键值

// 首先,检测任何按键的代码
#include<stdio.h>
#include<conio.h>
int main()
{
char ch;
while((ch=getch())!=0x1B) /* ESC to quit */
{
printf("%d \n", ch);
}
}

C语言之控制台读取上下左右方向键指令-LMLPHP

分别是上下左右键的键值。

其次,控制台读取方向键指令

方法一

//捕捉键值
#include<stdio.h>
#include<conio.h>
int main()
{ int ch;
while( (ch=getch())!=0x1B ) /* Press ESC to quit... */
{
switch(ch)
{
case 0xE0:
switch(ch=getch())
{
case : printf("UP\n"); break;
case : printf("DOWN\n"); break;
case : printf("LEFT\n"); break;
case : printf("RIGHT\n"); break;
default:
break;
}
break;
default:
break;
}
}
}

C语言之控制台读取上下左右方向键指令-LMLPHP

方法二

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int main()
{
char key;
while()
{
// int t=1;
key=getch();
switch(key)
{
case -:
key=getch();
switch(key)
{
case :
printf("UP\n");break;
case :
printf("DOWN\n");break;
case :
printf("LEFT\n");break;
case :
printf("RIGHT\n");break;
case -:
printf("F11\n");break;
case -:
printf("F12\n");break;
default:
// printf("%x,%d,%c\n",t,t,t);break;
printf("NULL");break;
}
break;
default:
// printf("%x,%d,%c\n",t,t,t);break;
printf("NULL");break;
}
}
return ;
}

C语言之控制台读取上下左右方向键指令-LMLPHP

05-11 20:12