kbhit(), bioskey(), system("pause")
来源:互联网 发布:java web 工作流引擎 编辑:程序博客网 时间:2024/06/10 15:00
2017.09.18 kbhit(), bioskey(), system(“pause”)
#include<iostream>#include<conio.h>#include<stdlib.h>using namespace std;int main(){ char ch; while(ch != 27) { printf("kbhit()检测键盘是否有输入,有则返回非0,否则返回0。(除非按Esc键,否则你讲一直看见这句话!!\n"); if(kbhit()) ch = getch(); } printf("End!\n"); system("pause"); return 0;}
#include<iostream>#include<conio.h>using namespace std;int main(){ while(!kbhit()) cout << "无键按下" << endl; cout << "有键按下" << endl; system("pause"); return 0;}
函数名:kbhit()
功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0
用 法:int kbhit(void);
包含头文件: conio.h
kbhit()在执行时,检测是否有按键按下,有按下返回非0值,没有按下则返回0,是非阻塞函数;
不同于getch()的在执行时,检测按下什么键,如果不按键该函数不返回,也就不进行下一步操作,是阻塞函数。
当参数cmd为1时,bioskey()检测是否有键按下。没有键按下时返回0;有键按下时返回按键码(
任何按键码都不为0),但此时并不将检测到的按键码从键盘缓冲队列中清除。 是非阻塞函数;
当参数cmd为0时,bioskey()返回键盘缓冲队列中的按键码,并将此按键码从键盘缓冲队列中清
除。如果键盘缓冲队列为空,则一直等到有键按下,才将得到的按键码返回。是阻塞调用。
实际上,kbhit()有点像bioskey(1)
函数原型:int bioskey (int cmd)
说明:bioskey()的函数原型在bios.h中(TC编译环境下的函数,VC无法使用)
bioskey()完成直接键盘操作,cmd的值决定执行什么操作。
cmd = 0:
当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码,高8位存放该键的扫描码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。
cmd = 1:
当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。
cmd = 2:
当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。
字节位 含义
0 右边Shift键状态
1 左边Shift键状态
2 Ctrl键状态
3 Alt键状态
4 ScrollLock键状态
5 NumLock键状态
6 CapsLock键状态
7 Insert键状态
字节位为1表示该键被按下,为0表示松开。
system是一个C语言和C++下的函数。windows操作系统下system () 函数详解主要是在C语言中的应用,system函数需加头文件
#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;void print(){ printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n"); printf("╔═══╧╧C语言关机程序 ╧╧═══╗\n"); printf("║※1.实现10分钟内的定时关闭计算机 ║\n"); printf("║※2.立即关闭计算机 ║\n"); printf("║※3.注销计算机 ║\n"); printf("║※0.退出系统 ║\n"); printf("╚═════════════════╝\n");}void main(){ system("title 自动关机程序"); system("mode con cols=48 lines=25"); system("color 0B"); system("date /T"); system("TIME /T"); char cmd[20] = "shutdown -s -t "; char t[5] = "0"; print(); int c; scanf("%d", &c); getchar(); switch(c) { case 1: printf("您想在多少秒后自动关闭计算机?(0~600)\n"); scanf("%s", &t); system(strcat(cmd, t)); break; case 2: system("shutdown -p"); break; case 3: system("shutdown -l"); break; case 0:break; default:printf("Error!\n"); } system("pause"); exit(0);}
system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果;system(“CLS”)可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。
例如,用 system(“color 0A”); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色
- kbhit(), bioskey(), system("pause")
- system("Pause")
- system("pause")
- system("pause");
- system("pause");
- system pause
- system("pause")
- system(“PAUSE”)
- system("pause")
- system("pause")
- bioskey
- 如何隐藏system("pause")
- system("pause")详解
- system("pause") 和getchar()
- 关于system("pause")
- C system("PAUSE") 小议
- C++中的system("pause");
- system("Pause")你会用吗
- Android在滚动列表中实现视频的播放(ListView & RecyclerView)
- CentOS6.5常用命令
- 计蒜客17119 Trig Function 数学 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 自定义view-日历系列
- miscdevice混杂设备驱动 2
- kbhit(), bioskey(), system("pause")
- Android 智能指针学习笔记(一) —— 简述以及轻量级指针
- bzoj4521 [Cqoi2016]手机号码(数位)
- 标识符
- 随记
- Spring Boot+JSP启动报404错误找不到页面
- 博客开张大吉
- python 单下划线及双下划线使用总结
- C++之静态成员变量和静态成员函数