_kbhit函数详解
kbhit() 是一个C和C++函数,用于非阻塞地响应键盘输入事件,为 “keyboard hit(键盘敲击)”的简写。
kbhit 是 _kbhit() 的弃用别名,尽管它依然受到支持,微
函数名:kbhit()
功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。
用 法:int kbhit(void);
C++语言包含头文件: include <conio.h>。
2020.7.9 已弃用 kbhit(),需替换为_kbhit()。
C语言不需包含额外头文件。
在VC++6.0下为_kbhit()。
功能及返回值同上。
软仍建议使用遵循 C 命名规则的 _kbhit()
C语言
下面的代码,如果没有键盘输入程序一直输出“Hello World”,直到用户按Esc结束。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
C++语言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
kbhit() 在执行时,检测是否有按键按下,有按下则返回非0值,没有按下则返回0,是非阻塞函数;
而 getch() 在执行时,检测按下什么键,如果不按键该函数不返回,也就不进行下一步操作,是阻塞函数。
类似地,在 TC2.0 中有一个处理键盘输入的函数 bioskey()。
1 |
|
当参数 cmd 为 1 时,bioskey() 检测是否有键按下。没有键按下时返回0;有键按下时返回按键码(
任何按键码都不为0),但此时并不将检测到的按键码从键盘缓冲队列中清除, 是非阻塞函数。
当参数 cmd 为 0 时,bioskey() 返回键盘缓冲队列中的按键码,并将此按键码从键盘缓冲队列中清
除。如果键盘缓冲队列为空,则一直等到有键按下,才将得到的按键码返回。是阻塞调用。
实际上,kbhit() 有点像 bioskey(1) 。
_kbhit函数详解相关推荐
- C语言网络编程:accept函数详解
文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...
- 【FFmpeg】函数详解(三)
FFmpeg函数详解 14.av_write_frame 15.av_interleaved_write_frame 16.av_write_trailer 17.avio_close 18.av_i ...
- 【FFmpeg】函数详解(二)
FFmpeg函数详解 9.av_dump_format 10.avio_open 11.avformat_write_header 12.avcodec_send_frame 13.avcodec_r ...
- 【FFmpeg】函数详解(一)
FFmpeg函数详解 一.错误码相关 1.AVERROR 2.av_strerror 3.其他错误码解释 二.编解码 1.获取编解码器 2.申请.释放上下文环境 3.打开编码器avcodec_open ...
- 【ES6】Generator函数详解
[ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...
- mysql的聚合函数综合案例_MySQL常用聚合函数详解
一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...
- python平方数迭代器_对python中的高效迭代器函数详解
python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...
- python基础知识~ 函数详解2
python~函数详解2 1 生成器函数 定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数 须知 yield和return一样,都可以返回数 ...
- scanf函数详解与缓冲区
1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数,遇到文件结束返回EOF,出错返回0. 函数功能: sca ...
最新文章
- 怎么往integer型数组添加数据_用户日活月活怎么统计 - Redis HyperLogLog 详解
- 互联网协议 — PPP 点对点协议
- Python Flask web 项目零改动迁移至阿里云函数计算
- 【小白学习C++ 教程】十五、C++ 中的template模板和泛型
- 2020\Simulation_1\2.约数个数
- 2021-08-05学习日记
- Safari浏览器不支持let声明的解决方式
- [转载] python学习笔记
- react 组件传值
- 魅族POP2s真无线耳机正式发布:售价299元!
- 谷歌EfficientNet缩放模型,PyTorch实现出炉,登上GitHub热榜丨Demo可用
- linux安装redis 和 使用
- 基于Springboot的医院药品管理系统的设计与实现.zip(论文+项目源码)
- 小程序 实现语音播放功能
- java事务和分布式事务详解
- 什么邮箱的归档功能好用?
- 这么多人问的JVM的垃圾回收到底是个啥?
- Flink滚动窗口函数的开窗起始时间计算规则
- 【蓝桥杯选拔赛真题54】Scratch小猫钓鱼 少儿编程scratch图形化编程 蓝桥杯选拔赛真题讲解
- 哔咔服务器维护时间,哔咔
热门文章
- 操作系统的功能和意义
- 基于JAVA彩票在线购买系统计算机毕业设计源码+系统+lw文档+部署
- 百家争鸣的低代码平台
- Java基础23 网络编程 socket套接字流 TCP传输总结
- java资源文件路径_Java 中获取资源(文件)的路径问题总结
- 当幸福来敲门 经典语录
- python average函数详解_Python内置函数详解——总结篇
- 一文搞懂 Python 私有属性 私有方法
- 修改linux系统的root用户密码,linux系统下修改root用户密码
- 为什么正常单据记账没有数据_正常单据记账怎么没有记录U8存货核算?正常 – 手机爱问...