logo
несколько программ / bsp33

ПрограммаKbdhit

Приведем исходный текст программы KBDHIT (листинг 2.5), ожидающей, когда пользователь нажмет на любую клавишу. Во время ожидания программа выводит на экран поочередно символы "<" и ">".

Листинг 2.5. Файлkbdhit\kbdhit.c

// =====================================================

// Демонстрация применения функции kbhit

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW: http://www.glasnet.ru/~frolov

// или

// http://www.dials.ccas.ru/frolov

// =====================================================

#include <stdio.h>

#include <conio.h>

int main(void)

{

int key;

// Ожидаем нажатия на любую клавишу.

// Во время ожидания выводим на экран поочередно

// символы "<" и ">"

while(!kbhit())

printf("<\b>\b");

// Как только будет нажата какая-нибудь клавиша,

// выводим ее ASCII-код

key = getch();

// Если прочитанный символ равен 0, вызываем

// функцию getch() для получения расширенного

// кода ASCII нажатой клавиши

if( (key == 0) || (key == 0xe0) )

{

key = getch();

printf( "Extended code ASCII:\t" );

}

else

printf( "Code ASCII:\t");

printf("%d\n",key);

return 0;

}