永发信息网

kbhit()函数怎么用不了啊

答案:2  悬赏:10  手机版
解决时间 2021-11-29 06:35
  • 提问者网友:半生酒醒
  • 2021-11-28 21:15
kbhit()函数怎么用不了啊
最佳答案
  • 五星知识达人网友:骨子里都是戏
  • 2021-11-28 22:25
getch() 只能取1个键值。功能键,箭头键按一下,产生两个键值,你需要再getch(),然后把两个合起来 同你的数值比较。
另外,这些键的编码,你的键盘未必同别人的键盘编码一样。
你先用:
int key,key2;
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);

确认一下。

然后可以做:
if (key == 0x00) //第一个数值 0x00 要根据你的键盘决定,也许是别的值
{
key2 = getch();
switch (key2) {
case 0x0048: ....; break;
case 0x0050:.....; break;
case .....
}

}
全部回答
  • 1楼网友:孤老序
  • 2021-11-28 23:29
首先,kbhit函数在有键敲动时返回0,需要考察你这里的用法。另是getch函数只接收一个字符,而上下左右键的编码都是双字节的,所以不可能有key==XXXX的时候,故只输出other……
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯