c语言按键事件判断函数kbhit和按键获取函数getch

⌚Time: 2022-12-12 12:53:17

👨‍💻Author: Jack Ge

kbhit() 是一个C和C++函数,用于非阻塞地响应键盘输入事件,为 “keyboard hit(键盘敲击)”的简写。

kbhit 是 _kbhit() 的弃用别名,尽管它依然受到支持,微软仍建议使用遵循 C 命名规则的 _kbhit()


函数名:kbhit()

功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0

用 法:int kbhit(void);

C++语言包含头文件: include <conio.h>

getch()是编程中所用的函数,这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!


getch():

所在头文件:conio.h

函数用途:从控制台读取一个字符,但不显示在屏幕上

函数原型:int getch(void)

返回值:读取的字符

getch与getchar的区别是getch在用户输入字符后不用按回车就可以读取,而getchar需要用户输入回车后读取字符

kbhit函数非阻塞的判断用户是否有按键按下

测试


#include <stdio.h>

#include <conio.h>

int main(int argc,char* argv[]){

    char ch;

    while(ch != 'q')

    {

            if(kbhit()){

                    ch = getch();

                    printf("you pressd %c\n",ch);

            }

    }

    return 0;

}