La función kbhit no acepta el carácter fuera del búfer

Nota Microsoft Visual C++ .NET 2002 y Visual C++ .NET 2003 proporciona compatibilidad con el modelo tanto en el código administrado el Microsoft.NET Framework y el modelo de código no administrado nativo de Microsoft Windows. La información de este artículo sólo se aplica a código no administrado de Visual C++. Microsoft Visual C++ 2005 admite el modelo de código administrado que es proporcionado por el Microsoft.NET Framework y el modelo de código de Microsoft Windows nativo no administrado..

Resumen

Cuando una aplicación comprueba el valor devuelto por la función kbhit(), la aplicación debe quitar explícitamente el carácter en el búfer del teclado después de escribir la pulsación de tecla. De lo contrario, kbhit() continúa devolver TRUE.

En el ejemplo de código siguiente se muestra la situación:

Código de ejemplo

/* * Compiler options needed: None
*/

#include <conio.h>

void main(void)
{
while (!kbhit())
; // Waits for keystroke
while (kbhit())
getch(); // Empties buffer
while (!kbhit())
; // Waits for keystroke
}

Propiedades

Id. de artículo: 44895 - Última revisión: 01/17/2017 - Revisión: 1

Comentarios