Книга: Разработка приложений в среде Linux. Второе издание
24.1.4. Проверка ожидающего ввода
24.1.4. Проверка ожидающего ввода
Во многих случаях вам нужно будет проверять доступные символы, не прибегая при этом к блокировке. Это удобно делать тогда, когда программе необходимо перейти к фоновой обработке, а пользователю в этот момент посылается запрос на ввод данных (особенно в видеоиграх). Функция SLang_input_pending()
определена следующим образом:
int SLang_input_pending(int timeout);
Функция SLang_input_pending()
возвращает true
, если символы стали доступными в течение n десятых долей секунды. Она возвращает результат, как только символы становятся доступными, и false
, если ни один из символов не окажется доступным в течение определенного периода времени. Если задать нулевой период времени, то функция SLang_input_pending()
сообщит о доступных в данный момент символах.
Это поведение легко пронаблюдать. Для этого в программе slecho.с
достаточно изменить проверку в цикле while
:
while (ch != 'q' && SLang_input_pending(20))
Теперь программа будет ожидать ввода дополнительных данных не более двух секунд. По истечении двух секунд, если никакие данные не будут введены, работа программы будет завершена.
- 24.1. Обработка ввода
- 5. Null-значения и проверка условий
- 1.6 Драйверы и буферы ввода-вывода
- Глава 6 BIOS – базовая система ввода-вывода
- 5.2.2.2. Устройства ввода информации в персональный компьютер
- Можно ли входить в систему без ввода имени и пароля?
- 12.1. Автоматизированная проверка безопасности
- 12.3. Проверка конфигурации
- Проверка, что сервер Firebird запущен
- Проверка на вирусы с помощью сканера Dr.Web
- Проверка правописания
- Проверка и ремонт