清除输入命令行?

时间:2014-04-20 12:15:25

标签: c++ command-line

我正在制作一个控制台应用程序。如果我按下键,它会从菜单开始; 1.菜单变为另一个菜单屏幕。但请注意,没有我按'Enter'。这意味着我的1仍然存在,这在菜单中进一步下降时显然很糟糕。

如何清除输入命令行?

使用的功能。

if(GetAsyncKeyState('1'))
        {
            IEventDataPtr gameState(GCC_NEW EvtData_Set_Game_State("PREGAMESTATE"));
            em->VTriggerEvent(gameState);
//Enter line clearing code.
        }

1 个答案:

答案 0 :(得分:0)

函数GetAsyncKeyState为您提供“密钥的当前状态”。因此,当键盘驱动程序收到“按下1键”直到键盘驱动程序收到“1已释放的键”时,它将返回true。

如果您想一次获得一个按键,我会认真建议您使用ReadConsoleInput

另一种方法是使用这样的东西:

 while(GetAsyncKeyState('1'))
 {
     // Do nothing. 
 }

等待释放该密钥。