Kbhit-Funktion akzeptiert keine Zeichen aus dem Puffer

Hinweis Microsoft Visual C++ .NET 2002 und Microsoft Visual C++ .NET 2003 verwaltete Code model, Unterstützung von Microsoft.NET Framework und nicht verwaltete systemeigene Microsoft Windows-Codemodell. Die Informationen in diesem Artikel gelten nur für nicht verwalteten Visual C++-Code. Microsoft Visual C++ 2005 unterstützt das verwaltete Codemodell, das von Microsoft.NET Framework bereitgestellt wird und der nicht verwalteten Microsoft Windows-Codemodell.

Zusammenfassung

Bei eine Anwendung von der Funktion kbhit() zurückgegebenen Wert überprüft, muss die Anwendung entfernen explizit das Zeichen aus den Tastaturpuffer nach der Eingabe der Tastatureingabe. Kbhit() weiterhin andernfalls TRUE zurück.

Im folgenden Codebeispiel wird die Situation veranschaulicht:

Beispielcode

/* * 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
}

Eigenschaften

Artikelnummer: 44895 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback