gpt4 book ai didi

C++在Windows中更改规范模式

转载 作者:行者123 更新时间:2023-11-28 06:49:31 26 4
gpt4 key购买 nike

在找到一堆关于此的线程后,我没有在 Windows 上找到任何线程,只有 Linux、Ubuntu 等。

简而言之,我想知道的是如何关闭规范模式,以便控制台中的输入无需按回车键即可即时输入。

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

臭名昭著的 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

最佳答案

您也可以在 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;
}

关于C++在Windows中更改规范模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24262287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com