kbhit()(VC++6.0下为_kbhit())
成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都做网站、网站制作、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0
用 法:int kbhit(void);
包含头文件: include conio.h
程序示例:
C语言
下面的代码,如果没有键盘输入程序一直输出Hello World,直到用户按Esc结束。
#includestdio.h
#includeconio.h
#includestdlib.h
int main(void)
{
char ch;
while(1)
{
printf("HelloWorld\n");
if(kbhit())
{
ch=getch();
if(27==ch)
break;
}
}
printf("End!\n");
system("pause");
return 0;
}
函数名:kbhit()(VC++6.0下为_kbhit())
功
能及返回值:
检查当前是否有键盘输入,若有则返回一个非0值,否则返回0
用
法:int
kbhit(void);
包含头文件:
include
#include
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
#include
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;
}
函数简介
函数名:kbhit()(VC++6.0下为_kbhit())
功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。当调用kbhit()函数检测后,它的状态会自动复位。即重新进入检测状态而不会保留上一次的检测结果的。
用 法:int kbhit(void);
包含头文件: include conio.h
程序示例
下面的代码,如果没有键盘输入程序一直输出A,直到用户按Esc结束输出H改为输出B,第二次按Esc时,结束输出B,并输出A和B的个数。这个程序说明kbhit()可以自动复位,重复使用。
#includestdio.h
#includeconio.h
int main(void)
{char ch;
long a=0,b=0;
while(1)
{printf("A");a++;
if(kbhit())
{ch=getch();
if(27==ch)break;
}
}
while(1)
{printf("B");b++;
if(kbhit())
{ch=getch();
if(27==ch)break;
}
}
printf("\nA=%ld B=%ld\n",a,b);
system("pause");
return 0;
}
kbhit()
在执行时,检测是否有按键按下,有按下返回键值
没有按下返回0;是非阻塞函数
例子如下:#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;
}