Осуществляет ввод символа с клавиатуры
#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
| Безопасность: | |
|---|---|
| Точка завершения | Да |
| Обработчик прерывания | Нет |
| Обработчик сигнала | Да |
| Нить | Да |