键盘敲击(keyboard hit)

kbhit

kbhit()是一个C和C++函数,用于非阻塞地响应键盘输入事件。其中文可译为“键盘敲击”(keyboard hit)。

函数名:kbhit()
功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。
用 法:int kbhit(void);
C++语言包含头文件: include <conio.h>。
C语言不需包含额外头文件。
在VC++6.0下为_kbhit()
功能及返回值同上;
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{
    while(!kbhit())//当没有键按下
    {
        cout<<"无键按下"<<endl;
    }
    cout<<"有键按下"<<endl;//有键按下时输出这
    system("pause");
    return 0;
}

 

kbhit()在执行时,检测是否有按键按下,有按下返回非0值,没有按下则返回0,是非阻塞函数;
不同于getch()的在执行时,检测按下什么键,如果不按键该函数不返回,也就不进行下一步操作,是阻塞函数。
类似地,在TC2.0中有一个处理键盘输入的函数bioskey();
   
当参数cmd为1时,bioskey()检测是否有键按下。没有键按下时返回0;有键按下时返回按键码(
任何按键码都不为0),但此时并不将检测到的按键码从键盘缓冲队列中清除。 是非阻塞函数;
当参数cmd为0时,bioskey()返回键盘缓冲队列中的按键码,并将此按键码从键盘缓冲队列中清
除。如果键盘缓冲队列为空,则一直等到有键按下,才将得到的按键码返回。是阻塞调用。
实际上,kbhit()有点像bioskey(1)
原文地址:https://www.cnblogs.com/Es-war/p/12829034.html