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

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

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

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

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

方法一

复制代码
//捕捉键值
 #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 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;
      }
   }
}
复制代码

方法二

复制代码
#include <stdio.h> 
#include <stdlib.h>   
#include <conio.h>
#include <windows.h>
int main()
{
    char key;
    while(1)
    {    
    //    int t=1;
        key=getch();
        switch(key)
        {
        case -32:
            key=getch();
            switch(key)
            {
            case 72:
                printf("UP\n");break;
            case 80:
                printf("DOWN\n");break;
            case 75:
                printf("LEFT\n");break;    
            case 77:
                printf("RIGHT\n");break;
            case -123:
                                printf("F11\n");break;
            case -122:
                                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 0;
}
复制代码

posted @   QualityAssurance21  阅读(26171)  评论(3编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示