zoukankan      html  css  js  c++  java
  • kbhit键盘检测函数

    函数名:kbhit()(VC++6.0下为_kbhit())

     

      功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0

     

      用 法:int kbhit(void);

     

      包含头文件: include <conio.h>

     

    编辑本段程序示例

    C语言

      #include<conio.h>

     

      int main(void)

     

      {

     

      cprintf("Press any key to continue:");

     

      while (!kbhit()) /* do nothing */ ;

     

      cprintf("\r\nA key was pressed...\r\n");

     

      return 0;

     

      }

     

      下面的代码,如果没有键盘输入程序一直输出Hello World,直到用户按Esc结束

     

      #include <conio.h>

     

      #include <stdlib.h>

     

      int main( void )

     

      {

     

      char ch;

     

      while( !kbhit() )

     

      {

     

      cprintf("Hello World\n");

     

      if( kbhit() )

     

      {

     

      ch = getch();

     

      if( 27 == ch )

     

      break;

     

      }

     

      }

     

      cprintf("End!\n");

     

      system("pause");

     

      return 0;

     

      }

    C++语言

      #include <conio.h>

     

      #include <iostream>

     

      using namespace std;

     

      int main()

     

      {

     

      while(!kbhit()) //当没有键按下

     

      {

     

      cout<<"无键按下"<<endl;

     

      }

     

      cout<<"有键按下"<<endl; //有键按下时输出这

     

      system("pause");

     

      }

     

      kbhit() 在执行时,检测是否有按键按下,有按下返回非0值,一般是1

     

      没有按下返回0;是非阻塞函数

     

      getch() 在执行时,检测按下什么键,如果不按键该函数不返回;是阻塞函数

     

      类似地

     

      在Tc2.0中有一个处理键盘输入的函数bioskey();

     

      int bioskey(int cmd);

     

      当cmd为1时,bioskey()检测是否有键按下。没有键按下时返回0;有键按下时返回按键码(

     

      任何按键码都不为0),但此时并不将检测到的按键码从键盘缓冲队列中清除。 是非阻塞参数。

     

      当cmd为0时,bioskey()返回键盘缓冲队列中的按键码,并将此按键码从键盘缓冲队列中清

     

      除。如果键盘缓冲队列为空,则一直等到有键按下,才将得到的按键码返回。是阻塞调用。

     

      //个人理解kbhit()有点像bioskey(1)

     

      具体搜索bioskey词条吧 :)


  • 相关阅读:
    原型模式&原型链
    [四种方法]检测数据类型
    JSON
    PHP基础 mysqli的事务处理
    PHP的扩展类 mysqli_stmt:预处理类
    PHP的 Mysqli扩展库的多语句执行
    PHP基础文件下载类的简单封装
    PHP基础封装简单的MysqliHelper类
    Spring深入浅出(四)AOP面向切面
    Spring深入浅出(二)IOC的单例 ,继承,依赖,JDBC,工厂模式以及自动装载
  • 原文地址:https://www.cnblogs.com/yuzhaoxin/p/2205217.html
Copyright © 2011-2022 走看看