![]() |
![]() |
![]() |
Осуществляет ввод символа с клавиатуры
#include <vingraph.h> char InputChar ();
libvg.a
Функция осуществляет ввод символа с клавиатуры. Ввод выполняется в сыром (односимвольном) режиме без эхо-печати.
InputChar() принимает нажатие на клавишу только, если окно терминала VinGraph является активным. В текущей реализации данная функция не буферирует входные данные. Т.е., если вы нажмете на клавишу до того, как была вызвана InputChar(), то это нажатие будет потеряно.
Алфавитно-цифровые (печатные) символы вводятся в соответствии с их ASCII кодами. Управляющие символы порождают нестандартные коды, характерные именно для этой реализации функции ввода. Десятичные коды некоторых управляющих клавиш перечислены в следующей таблице:
Стрелка влево: | 81 |
Стрелка вверх: | 82 |
Стрелка вправо: | 83 |
Стрелка вниз: | 84 |
Enter: | 13 |
Esc: | 27 |
Левый Ctrl: | -29 |
Правый Ctrl: | -28 |
При необходимости выяснения кодов других клавиш рекомендуется использовать программу, приведенную в разделе Ввод с клавиатуры руководства по библиотеке VinGraph.
Функция InputChar() может вызываться одновременно в нескольких нитях. В этом случае эти нити ставятся в очередь, и вводимые символы будут поочередно раздаваться нитям. Очередь упорядочивается по приоритетам нитей и по порядку поступления запросов. Такая политика позволяет фокусировать ввод в определенной нити путем управления ее приоритетом.
Код введенного символа либо 0 в случае ошибки.
VinGraph
Безопасность: | |
---|---|
Точка завершения | Да |
Обработчик прерывания | Нет |
Обработчик сигнала | Да |
Нить | Да |
![]() |
![]() |
![]() |