C语言编程错误 kbhit 怎么用啊
发布网友
发布时间:2022-10-05 02:30
我来回答
共2个回答
热心网友
时间:2023-10-16 17:20
函数名: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;
}
热心网友
时间:2023-10-16 17:20
函数名:
kbhit
功
能:
检查当前按下的键
用
法:
int
kbhit(void);
程序例:
#include
int
main(void)
{
cprintf("press
any
key
to
continue:");
while
(!kbhit())
/*
do
nothing
*/
;
cprintf("\r\na
key
was
pressed...\r\n");
return
0;
}
kbhit()
在执行时,检测是否有按键按下,有按下返回键值
没有按下返回0;是非阻塞函数
getch()
在执行时,检测按下什么键,如果不按键该函数不返回;是阻塞函数
类似地
在tc2.0中有一个处理键盘输入的函数bioskey();
int
bioskey(int
cmd);
当cmd为1时,bioskey()检测是否有键按下。没有键按下时返回0;有键按下时返回按键码(
任何按键码都不为0),但此时并不将检测到的按键码从键盘缓冲队列中清除。
是非阻塞参数。
当cmd为0时,bioskey()返回键盘缓冲队列中的按键码,并将此按键码从键盘缓冲队列中清
除。如果键盘缓冲队列为空,则一直等到有键按下,才将得到的按键码返回。是阻塞调用。
//个人理解kbhit()有点像bioskey(1)
具体搜索biokey词条吧
:)