清除输入命令行

Clear input command line?

本文关键字:命令行 输入 清除      更新时间:2023-10-16

我正在制作一个控制台应用程序。它从一个菜单开始,如果我按键;1.菜单变为另一个菜单屏幕。但请注意,不用我按Enter键。这意味着我的1仍然存在,当在菜单中进一步减少时,这显然是不好的。

如何清除输入命令行?

函数正在使用中。

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

函数GetAsyncKeyState为您提供"键的当前状态"。因此,它将在键盘驱动程序接收到"1的键已按下"的点之间返回true,直到键盘驱动程序收到"1的按键已释放"。

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

另一种选择是使用类似的东西:

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

以等待该密钥被释放。