因此,我使用GetAsyncKeyState()来查看何时按下某个键。但是,在使用它之后,我需要使用getch()。但似乎getch()再次得到GetAsyncKeyState()得到的任何东西。这是我简化代码的版本:如何在使用getch()之前清理输入缓冲区?
#include <graphics.h>
int main()
{
initwindow(100, 100);
while(true)
{
if (GetAsyncKeyState(VK_RETURN)) //wait for user to press "Enter"
break;
//do other stuff
}
getch(); //this is just skipped
return 0;
}
我想我需要在使用getch()之前清理输入缓冲区。但是如何? PS:GetAsyncKeyState()是我必须使用的,我还没有找到任何替代getch(),它可以与BGI窗口一起工作,并且可以解决问题。 希望得到一些建议,谢谢。
很抱歉,但它似乎并没有工作。即使我在fflush之前放置Sleep(1000),应用程序仍会跳过getch。 – user3496846