从没有cin的控制台获取输入?

jma*_*erx 5 c c++ console

我正在尝试制作一个基本上是控制台乒乓球的小程序.所以现在我有这个:

int main()
{
    while(1)
    {
        clearScreen();
        restThread(100);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我需要轮询的唯一输入是用户是否已按下A或D键,因为屏幕已被清除.我还需要知道密钥何时发布.我也试图做这个跨平台.

所以我真正需要的只是一个if(keyWasDown('a')){}类函数.

谢谢

Zac*_*h L 8

也许你想要kbhit(非阻塞)或getch(阻塞)<conio.h>.还有getchar,来自<stdio.h><cstdio>.

如果你想让程序等待键盘按下,getch或者getchar他们自己会这样做.

如果你希望程序等待键盘按下,kbhit结合任何一个getchgetchar将足够.

然而,正如GMan所说,这些方法并不是真正的跨平台(如果你从不打算在不同的平台上尝试这个,那真的是没有意义).对于控制台游戏,您可能会对ncurses感兴趣.