C ++更改了Windows中的规范模式

时间:2014-06-17 11:11:45

标签: c++ include

在找到一堆线程之后,我在Windows上找不到任何线程,只有Linux,Ubuntu等。

简而言之,我想要找出的是如何关闭规范模式,以便控制台中的输入能够立即输入,而无需按Enter键。

更长的版本。这就是我现在要做的事情: 当PGM暂停(基于文本的游戏)时,要求用户输入箭头键以在2D阵列上移动玩家。但cin.get()cin.ignore()以及我尝试过的其他一些事情都要求在继续之前按Enter键。

臭名昭着的system("pause>nul"); 确实确实有效,但正如我在其他各个地方所读到的那样非常糟糕。

这是代码的一部分。 cout语句仅用于测试目的:

//While loop
if(GetAsyncKeyState(VK_UP)){
        cout << "up" << endl;
}
else if(GetAsyncKeyState(VK_DOWN)){
        cout << "down" << endl;
}
else if(GetAsyncKeyState(VK_LEFT)){
        cout << "left" << endl;
}
else if(GetAsyncKeyState(VK_RIGHT)){
        cout << "right" << endl;
}
else{
    break;}

//pauze and check for arrow key input here

1 个答案:

答案 0 :(得分:1)

您也可以在Windows上使用getch

我知道它是C,你得到了已弃用的警告,但它有效......

此代码循环运行,直到您按Enter键:

检查按箭头键时会发生什么......

#include <stdio.h>
#include<conio.h>
int main ()
{
  int c;
  do {
    c=getch();
    printf("%d\n",c);
  } while (c != 13);
  return 0;
}