_getch_nolock
, _getwch_nolock
Получает символ из консоли без эха и без блокировки.
Внимание
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
int _getch_nolock( void );
wint_t _getwch_nolock( void );
Возвращаемое значение
Возвращает считанный символ. Не возвращается ошибка.
Замечания
Функции _getch_nolock
и _getwch_nolock
идентичны функциям _getch
и _getchw
за исключением того, что не защищены от помех со стороны других потоков. Они могут быть быстрее, так как они не влечет за собой затраты на блокировку других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма Tchar.h | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_gettch_nolock |
_getch_nolock |
_getch_nolock |
_getwch_nolock |
Требования
Маршрут | Обязательный заголовок |
---|---|
_getch_nolock |
<conio.h> |
_getwch_nolock |
<conio.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_getch_nolock.c
// compile with: /c
// This program reads characters from
// the keyboard until it receives a 'Y' or 'y'.
#include <conio.h>
#include <ctype.h>
int main( void )
{
int ch;
_cputs( "Type 'Y' when finished typing keys: " );
do
{
ch = _getch_nolock();
ch = toupper( ch );
} while( ch != 'Y' );
_putch_nolock( ch );
_putch_nolock( '\r' ); // Carriage return
_putch_nolock( '\n' ); // Line feed
}
abcdefy
Type 'Y' when finished typing keys: Y
См. также
Консоль и порт ввода-вывода
_getche
, _getwche
_cgets
, _cgetws
getc
, getwc
_ungetch
, , _ungetwch
_ungetch_nolock
_ungetwch_nolock