c++接受上下左右的字符
getch()接收按键信息的字符如果我想接收“↑↓←→”的话,这些字符是什么?怎样表达键盘上下左右的字符...
getch()接收按键信息的字符
如果我想接收“↑↓← →”的话,这些字符是什么?怎样表达键盘上下左右的字符 展开
如果我想接收“↑↓← →”的话,这些字符是什么?怎样表达键盘上下左右的字符 展开
4个回答
推荐于2016-03-19 · 知道合伙人数码行家
关注
展开全部
添加如下代码:
#include "stdafx.h"
#include <conio.h>
int GetDirection()
{
int ret = 0;
do
{
int ch = getch();
if(isascii(ch))
continue;
ch = getch();
switch(ch)
{
case 72:
ret = 2; // top 定义数字上
break;
case 75:
ret = 1; // left 定义数字左
break;
case 77:
ret = 3; // right 定义数字右
break;
case 80:
ret = 4; // down 定义数字下
break;
default:
break;
}
} while (ret == 0);
return ret;
}
int _tmain(int argc, _TCHAR* argv[])
{
for(int k = 0; k < 10; k++)
cout<<GetDirection();
system("pause");
return 0;
}
#include "stdafx.h"
#include <conio.h>
int GetDirection()
{
int ret = 0;
do
{
int ch = getch();
if(isascii(ch))
continue;
ch = getch();
switch(ch)
{
case 72:
ret = 2; // top 定义数字上
break;
case 75:
ret = 1; // left 定义数字左
break;
case 77:
ret = 3; // right 定义数字右
break;
case 80:
ret = 4; // down 定义数字下
break;
default:
break;
}
} while (ret == 0);
return ret;
}
int _tmain(int argc, _TCHAR* argv[])
{
for(int k = 0; k < 10; k++)
cout<<GetDirection();
system("pause");
return 0;
}
展开全部
//方向键有两位asc码,第一位都是224
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
因此可以这样判断
if(getch()==224)//公共asc码
{
char ch=getch();//方向键下一个asc码
switch(str)
{
case UP:*****
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
因此可以这样判断
if(getch()==224)//公共asc码
{
char ch=getch();//方向键下一个asc码
switch(str)
{
case UP:*****
追问
我想知道上下左右每一个方向的asc码,例如用户按“↑”,就会运行a,按“↓”就运行b,我要具体到每一个的asc码
追答
前面说了,方向键由两个asc构成,第一个都是224,第二个分别是72、80、75、77
依据案件的不同产生不同的行为前面代码也写了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询