Если вы не хотите, чтобы getch()
ждал, вы должны настроить его как неблокирующее с помощью nodelay()
.
После выполнения:
if (nodelay (pWin, 1) == ERR) {
// some error occurred.
}
затем getch()
вернет ERR
, если нет доступных данных.
Справочная страница для параметров ввода имеет вид здесь , а поведение getch
упоминается и там, и на его собственной странице справки, ссылка здесь .
Параметр nodelay приводит к тому, что getch является неблокирующим вызовом. Если вход не готов, getch возвращает ERR. Если отключено (bf - FALSE), getch ждет, пока не будет нажата клавиша.
В режиме без задержки, если не ожидается ввода, возвращается значение ERR.