kbhit()函数怎么用不了啊
我检测了下,发现那些宏定义好像不是方向键的编码啊,还有每次我如果按的按键是方向键的话窗口会弹出两个other,其他键则是一个other,完全没有思路。...
我检测了下,发现那些宏定义好像不是方向键的编码啊,还有每次我如果按的按键是方向键的话窗口会弹出两个other,其他键则是一个other,完全没有思路。
展开
2个回答
展开全部
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 .....
}
}
另外,这些键的编码,你的键盘未必同别人的键盘编码一样。
你先用:
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 .....
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询