kbhit 用法

转载 2008年03月19日 10:41:00

1.源自 头文件<conio.h>

 

2. 原型:extern int kbhit(void);
  
   用法:#include <stdio.h>
  
   功能:检测按键
  
   说明:检测键盘是否有键按下。
         如果有键按下,则返回对应键值;否则返回零。
         kbhit不等待键盘按键。无论有无按键都会立即返回。
  
   举例:

       // kbhit.c
      
       #include <stdio.h>

       main()
       {
         int i=0;
        
         clrscr();
        
         while(!kbhit())
         {
           clrscr();
           printf("%05d",i++);
         }
        
         clrscr();
         printf("End.");
        
         getchar();
         return 0;
       }
      

3.kbhit()检测键盘是否有键按下,并工作在非阻塞模式下(即不等待状态,如果没有键按下,函数立即返回),如果有键按下,函数返回按键的ACSII码,

例子(来源MSDN):

/* KBHIT.C: This program loops until the user
 * presses a key. If _kbhit returns nonzero, a
 * keystroke is waiting in the buffer. The program
 * can call _getch or _getche to get the keystroke.
 */

#include <conio.h>
#include <stdio.h>

void main( void )
{
       /* Display message until key is pressed. */
       while( !_kbhit() )
          _cputs( "Hit me!! " );

       /* Use _getch to throw key away. */
       printf( "/nKey struck was '%c'/n", _getch() );
       _getch();
}

Output

Hit me!! Hit me!! Hit me!! Hit me!! Hit me!! Hit me!! Hit me!!
Key struck was 'q' 

利用此函数可实现在程序运行时按任意键继续的以功能,非常好用

如果程序是循环式的,可在循环程序中加入

while(!kbhit())

{

            char c;

             cout<<"按任意键继续程序执行,按q按退出程序";

            cin>>c;

            if(c=='q')

                 return 1;

}

如果程序不是循环时的,而是非常长的一个程序串,就要通过多线程来实现,另外创建一个线程,在新线程中使用kbhit()函数,然后调用API函数SuspendThread 暂停主线程的运行就可以了


 

kbhit()函数

函数简介   函数名:kbhit()(VC++6.0下为_kbhit())   功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0   用 法:int kbhit(voi...
  • mal327
  • mal327
  • 2012年02月18日 22:51
  • 3382

使用kbhit()和getch()无阻塞接收用户键盘输入

前言在我们平时控制台程序的编写过程中,一般情况下都是需要暂停控制台界面,等待用户输入数据之后,程序才会继续运行下去。但是某些情况下,我们希望在循环在用户输入一个按键时才响应特定程序。 常规做法是使用...
  • liuhhaiffeng
  • liuhhaiffeng
  • 2017年01月16日 11:26
  • 1549

kbhit 用法

1.源自 头文件   2. 原型:extern int k...
  • thecorr
  • thecorr
  • 2008年03月19日 10:41
  • 10078

kbhit函数(讲解)

kbhit 编辑 目录 1函数简介 2程序示例 ▪ C语言 ▪ C++语言 1函数简介...
  • u013100446
  • u013100446
  • 2014年05月04日 13:52
  • 5901

C_kbhit()和getch()函数的使用

C语言中kbhit()函数(conio.h):检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。 kbhit 是非阻塞函数,检测到用户按下某键时就会返回。与getchar()不同,程序运行到...
  • u011419209
  • u011419209
  • 2017年08月05日 17:44
  • 607

C语言捕获键盘敲击的方法kbhit

本文主要简单实现了对于c语言在程序中捕捉键盘敲击,进行程序控制的操作,以及典型通用的C语言菜单实现。...
  • u014271836
  • u014271836
  • 2015年11月25日 12:00
  • 3551

_kbhit()----用于判断在循环时是否有按键

//_kbhit() while(!_kbhit()) { //循环体; } //在程序运行的时候如果你按了键,就退出循环 //_kbhit()有按键返回非0;else1...
  • fengsha1986923
  • fengsha1986923
  • 2010年06月10日 01:27
  • 757

c语言kbhit()函数的介绍

  • 2008年12月18日 15:04
  • 733B
  • 下载

在linux下面实现检测按键(Linux中kbhit()函数的实现)

//在linux下面实现检测按键(Linux中kbhit()函数的实现)#include #include #include #include #include #include ...
  • lxh1230119
  • lxh1230119
  • 2012年07月25日 15:13
  • 6978

linux下kbhit()使用

最近写一段程序,因为刚学linux学习网络编程,编个聊天软件(有一个功能就是可以选择让对方显示自己的输入过程),因为打算在输入字符前面加上昵称,因此我计划是通过判断键盘输入来确定是否要输入信息,在网上...
  • yemao_guyue
  • yemao_guyue
  • 2015年01月25日 01:17
  • 652
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:kbhit 用法
举报原因:
原因补充:

(最多只允许输入30个字)