Поделиться через


_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