Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 拆分_getchar()的输出_C++_Integer_Getchar_Conio - Fatal编程技术网

C++ 拆分_getchar()的输出

C++ 拆分_getchar()的输出,c++,integer,getchar,conio,C++,Integer,Getchar,Conio,我想知道什么时候按箭头键。为此,我已经找到了\u getchar()。不幸的是,这会返回几个值。它返回两个不同且分开的值,即使我将其保存为一个整数 第一个值总是224,第二个值是我需要的值。但是我怎么能得到它呢 我尝试了var[1],但这不起作用,因为它是一个整数(不知道一个整数可以容纳多个值) 谢谢:D您在哪里将某些内容保存到变量中?您的标题是\u getchar();你的评论说\u getchar();你的代码是\u getch()-你的意思是什么?没有一个名字是特别标准的——POSIX上通

我想知道什么时候按箭头键。为此,我已经找到了
\u getchar()
。不幸的是,这会返回几个值。它返回两个不同且分开的值,即使我将其保存为一个整数

第一个值总是224,第二个值是我需要的值。但是我怎么能得到它呢

我尝试了
var[1]
,但这不起作用,因为它是一个整数(不知道一个整数可以容纳多个值)


谢谢:D

您在哪里将某些内容保存到变量中?您的标题是
\u getchar()
;你的评论说
\u getchar()
;你的代码是
\u getch()
-你的意思是什么?没有一个名字是特别标准的——POSIX上通常使用的函数不以下划线开头,尽管微软似乎更喜欢下划线。Windows上的
中有一个
getch()
;在
evrywhere中有
getchar()。我在开关之前定义了一个整数c,并添加了一个std::cout。然后我得到这两个值。我们的问题不应该是分割_getch()输入,而是检测用户是否按了箭头键。对于这一点,这里已经有了一个答案:箭头键通常会生成多个字节。72、75、77、80代码对应字母HKMP。在我的Mac电脑上,下、右、左、上键生成十六进制序列
1B 5B 42
(escape
[B
)、
1B 5B 43
(escape,
[C
)、
1B 5B 44
(escape
[D
)和
1B 5B 41
(escape
[A
)分别。您的计算机可能会生成不同的序列。这就是现实世界的工作方式(不同的计算机做的事情不同)。因此,您使用的平台也很重要(请将这些信息添加到问题中)。
int posX = 5;
int posY = 10;

while(1)
{

    switch(_getch())
    {
        case 72:
            posY++;
        case 80:
            posY--;
        case 75:
            posX--;
        case 77:
            posX++;
    }

    build(posX, posY); // a function to visualize things, not necessary for my problem
}