kbhit in C language
kbhit() functionality is basically stand for the Keyboard Hit. This function is deals with keyboard pressing
kbhit() is present in conio.h and used to determine if a key has been pressed or not. To use kbhit function in your program you should include the header file “conio.h”. If a key has been pressed then it returns a non zero value otherwise returns zero.
CPP
// C++ program to demonstrate use of kbhit() #include <iostream.h> #include <conio.h> int main() { while (!kbhit()) printf ("Press a key\n"); return 0; } |
Output:
"Press a key" will keep printing on the console until the user presses a key on the keyboard.
Note : kbhit() is not a standard library function and should be avoided. Program to fetch the pressed key using kbhit
CPP
// C++ program to fetch key pressed using // kbhit() #include <iostream> #include <conio.h> using namespace std; int main() { char ch; while (1) { if ( kbhit() ) { // Stores the pressed key in ch ch = getch(); // Terminates the loop // when escape is pressed if ( int (ch) == 27) break ; cout << "\nKey pressed= " << ch; } } return 0; } |
Output:
Prints all the keys that will be pressed on the keyboard until the user presses Escape key
C
#include <stdio.h> // include conio.h file for kbhit function #include <conio.h> main() { // declare variable char ch; printf ( "Enter key ESC to exit \n" ); // define infinite loop for taking keys while (1) { if (kbhit) { // fetch typed character into ch ch = getch(); if (( int )ch == 27) // when esc button is pressed, then it will exit from loop break ; printf ( "You have entered : %c\n" , ch); } } } |
Output : Enter key ESC to exit You have entered : i You have entered : P You have entered : S You have entered : w You have entered : 7 You have entered : / You have entered : * You have entered : +
This article is contributed by Nishu Singh 1. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Please Login to comment...