Функция getch() возвращает очередной символ, считанный с консоли, но не выводит этот символ на экран.
Функция getche() возвращает очередной символ, считанный с консоли, и выводит этот символ на экран.
Ни одна из этих функций не определена стандартом ANSI С.
Как составить код для очереди, чтобы при нажатии на определенные клавиши он добавлял и удалял с очереди элемент? В этом нужен GETCH . Просто я не знаю, как им пользоваться. Можете помочь?
4 ответа 4
Обратите внимание getch() возвращает один символ, прочитанный с клавиатуры, не дожидаясь ввода . При нажатии читаются подряд два символа ‘
‘ и ‘
‘. Клавиша «Забой» и стрелки тоже не работают, как обычно, Вы получаете их коды.
UPD по поводу Пардон, ошибся
(как на основной, так и на дополнительной клавиатуре) выдает 1 символ ‘
‘ десятичный 13 (hex 0x0d).
Получает символ из консоли без отображения. Gets a character from the console without echo.
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. This API cannot be used in applications that execute in the Windows Runtime. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows. For more information, see CRT functions not supported in Universal Windows Platform apps.
Синтаксис Syntax
Возвращаемое значение Return Value
Возвращает считанный символ. Returns the character read. Ошибка не возвращается. There is no error return.
Примечания Remarks
Функции _getch и _getwch считывают один символ из консоли без вывода символа. The _getch and _getwch functions read a single character from the console without echoing the character. Эти функции нельзя использовать для считывания сочетания CTRL+C. None of these functions can be used to read CTRL+C. При считывании функциональной клавиши или клавиши со стрелкой каждая из этих функций должна вызываться дважды. Первый вызов возвращает 0 или 0xE0, а второй вызов возвращает фактический код клавиши. When reading a function key or an arrow key, each function must be called twice; the first call returns 0 or 0xE0, and the second call returns the actual key code.
Эти функции блокируют вызывающий поток, поэтому они потокобезопасны. These functions lock the calling thread and are therefore thread-safe. Описание неблокирующих версий см. в разделе _getch_nolock, _getwch_nolock. For non-locking versions, see _getch_nolock, _getwch_nolock.
Сопоставления подпрограмм обработки обычного текста Generic-Text Routine Mappings
| Процедура Tchar.h Tchar.h routine | _UNICODE и _MBCS не определены _UNICODE and _MBCS not defined | _MBCS определено _MBCS defined | _UNICODE определено _UNICODE defined |
|---|---|---|---|
| _gettch _gettch | _getch _getch | _getch _getch | _getwch _getwch |
Требования Requirements
| Подпрограмма Routine | Обязательный заголовок Required header |
|---|---|
| _getch _getch | |
| _getwch _getwch | или or |
Дополнительные сведения о совместимости см. в разделе Совместимость. For more compatibility information, see Compatibility.