如何在 conio.h 中标记不同的 f 按键?
Posted
技术标签:
【中文标题】如何在 conio.h 中标记不同的 f 按键?【英文标题】:How to label different f key pressings in conio.h? 【发布时间】:2021-12-14 11:18:08 【问题描述】:#include <stdio.h>
#include <conio.h>
int main()
int ch = getch();
// printf ("%d" , ch);
switch (ch)
case 13:
printf("ENTER");
break;
case 224:
printf("LEFT ARROW");
break;
case 45 :
printf("LOWERCASE LETTER");
break;
case 27 :
printf("ESC");
break;
case 48 :
printf ("digit");
break;
case 49 :
printf("digit");
break;
case 50 :
printf("digit");
break;
case 51 :
printf("digit");
break;
case 52 :
printf("digit");
break;
case 53 :
printf("digit");
break;
case 54 :
printf("digit");
break;
case 55 :
printf("digit");
break;
case 56 :
printf("digit");
break;
case 57 :
printf("digit");
break;
我正在尝试标记不同的键盘输入,但我无法标记不同的 f 键按下以及箭头键,因为它返回相同的 int 值。如何标记不同的 F 键按下
这是绕过***s不必要过滤器的填充线
【问题讨论】:
根据我对恐龙时代的记忆,箭头键返回 2 个字节,而不是 1。你会得到代码后跟一个零字节的 iirc。有什么特别的原因让你接受培训成为一名 MS DOS 程序员吗? 在macos上甚至可能是4个字节... 我没有太多编程经验,请您详细说明我该如何解决这个问题? “这是绕过***s不必要过滤器的填充行”是什么意思? 【参考方案1】:我想你可以通过“getch and arrow codes”获得很多信息。
就像@Lundin 说的,方向键返回值不是1,所以你应该知道哪个键对应多少字节,然后你可以设计你的判断。
我建议你可以先了解你的代码原理,然后在GOOGLE上通过关键字搜索答案(例如:conio.h
,getch()
...等)。
如果还有问题,你在这里发帖,我想每个人都会为你解答。
【讨论】:
以上是关于如何在 conio.h 中标记不同的 f 按键?的主要内容,如果未能解决你的问题,请参考以下文章
Delphi中如何实现模拟组合按键,如发送Ctrl+F的按键