c語言demo,監聽鍵盤是否有輸入,有輸入則執行業務,執行後清空,等待下一次鍵盤按鍵。
kbhit() 可以判斷鍵盤緩衝區是否有數據
fflush() 可以清空輸入緩衝區,但是不能清空鍵盤緩衝區的數據,通過下面的代碼可證
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
int main()
{
while (1)
{
printf("kbhit = %d\n", kbhit());
if (kbhit())
{
fflush(stdin);
}
Sleep(1000);
}
return 0;
}
要清除鍵盤緩衝區,可以
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
int main()
{
while (1)
{
printf("kbhit = %d\n", kbhit());
if (kbhit())
{
while(kbhit()){
getch();
}
}
Sleep(1000);
}
return 0;
}
希望大神提供更好的方法