C语言Press any key按任意键返回
(2010-04-08 14:26:57)
标签:
杂谈 |
分类: VC |
printf("Press any key to continue...");
记得在文件头上加上这句:
#include <conio.h>
这个是检测键按下的,如果用scanf则是要输入数据,对非输入键响应不了
功 能: 检查当前按下的键
用 法: int kbhit(void);
程序例:
C语言:
#include<conio.h>
int main(void)
{
cprintf("Press any key to continue:");
while (!kbhit()) ;
cprintf("\r\nA key was pressed...\r\n");
return 0;
}
C++语言:
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
while(!kbhit())
{
cout<<"无键按下"<<endl;
}
cout<<"有键按下"<<endl;
system("pause");
}
kbhit() 在执行时,检测是否有按键按下,有按下返回键值
没有按下返回0;是非阻塞函数
getch() 在执行时,检测按下什么键,如果不按键该函数不返回;是阻塞函数
类似地
在Tc2.0中有一个处理键盘输入的函数bioskey();
int bioskey(int cmd);
当cmd为1时,bioskey()检测是否有键按下。没有键按下时返回0;有键按下时返回按键码(
任何按键码都不为0),但此时并不将检测到的按键码从键盘缓冲队列中清除。 是非阻塞参数。
当cmd为0时,bioskey()返回键盘缓冲队列中的按键码,并将此按键码从键盘缓冲队列中清
除。如果键盘缓冲队列为空,则一直等到有键按下,才将得到的按键码返回。是阻塞调用。
//个人理解kbhit()有点像bioskey(1)
后一篇:QQ能上,网页DNS解析不了问题