加载中…
个人资料
小白
小白
  • 博客等级:
  • 博客积分:0
  • 博客访问:12,462
  • 关注人气:367
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C语言Press any key按任意键返回

(2010-04-08 14:26:57)
标签:

杂谈

分类: VC

printf("Press any key to continue...");
   while (!kbhit());
记得在文件头上加上这句:
#include <conio.h>

 

 

这个是检测键按下的,如果用scanf则是要输入数据,对非输入键响应不了

 

 

函数名: kbhit
  功 能: 检查当前按下的键
  用 法: 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)

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有