Funkce kbhit nepřijme znak z vyrovnávací paměti

Poznámka: Microsoft Visual C++ .NET 2002 a Microsoft Visual C++ .NET 2003 podpora spravovaný kód model, který je k dispozici v Microsoft rozhraní.NET Framework a nespravovaná nativní Microsoft Windows kód modelu. Informace v tomto článku platí pouze pro nespravovaného kódu Visual C++. Microsoft Visual C++ 2005 podporuje model spravovaný kód, který poskytuje společnost Microsoft rozhraní.NET Framework a nespravovaná nativní kód modelu Microsoft Windows.

Souhrn

Když aplikace testuje hodnotu vrácenou funkcí kbhit(), aplikace musí explicitně odebrat znak z vyrovnávací paměti klávesnice po zadání stisk klávesy. Jinak kbhit() pokračuje vrátí hodnotu TRUE.

Následující příklad kódu ukazuje situaci:

Ukázkový kód

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

Vlastnosti

ID článku: 44895 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor