_kbhit
Comprueba si hay acciones del teclado en la consola.
Importante
Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.
Sintaxis
int _kbhit( void );
Valor devuelto
_kbhit
devuelve un valor distinto de cero si se ha presionado una tecla. De lo contrario, devuelve 0.
Comentarios
La función _kbhit
comprueba en la consola si se ha presionado una tecla recientemente. Si la función devuelve un valor distinto de cero, hay una pulsación de tecla esperando en el búfer. A continuación, el programa puede llamar a _getch
o _getche
para obtener la pulsación de tecla.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
Routine | Encabezado necesario |
---|---|
_kbhit |
<conio.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas
Todas las versiones de las bibliotecas en tiempo de ejecución de C.
Ejemplo
// crt_kbhit.c
// compile with: /c
/* This program loops until the user
* presses a key. If _kbhit returns nonzero, a
* keystroke is waiting in the buffer. The program
* can call _getch or _getche to get the keystroke.
*/
#include <conio.h>
#include <stdio.h>
int main( void )
{
/* Display message until key is pressed. */
while( !_kbhit() )
_cputs( "Hit me!! " );
/* Use _getch to throw key away. */
printf( "\nKey struck was '%c'\n", _getch() );
}
Salida de ejemplo
Hit me!! Hit me!! Hit me!! Hit me!! Hit me!! Hit me!! Hit me!!
Key struck was 'q'