C_kbhit()和getch()函数的使用

C语言中kbhit()函数(conio.h):检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。

kbhit 是非阻塞函数,检测到用户按下某键时就会返回。与getchar()不同,程序运行到kbhit()语句时程序不会暂停,而是会继续运行。多次使用kbhit()时,当用户按下一次按键时,kbhit()在之后返回的都是1,这时候可以搭配getch()函数。


C语言中getch()函数(conio.h):从控制台无回显地取一个字符(在windows平台下从控制台无回显地取一个字符,在linux下是有回显的),返回从键盘上读取到的字符。

getch()与getchar()函数的区别是,getch()在检测到用户输入一个字符后就会继续程序,不需要按回车键,并且字符不会在屏幕上显示。


下面是一个实例,用户每按一次任意按键,屏幕都会打印一句:"The user presses a key.",下面是程序源代码:


#include<stdio.h>
#include<conio.h>

int main()
{
    while(1){
        if(kbhit()){
            printf("The user presses a key.\n");
            getch();
        }
    }
    return 0;
}


猜你喜欢

转载自blog.csdn.net/u011419209/article/details/76728405