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


_getche_nolock, _getwche_nolock

Получает символ из консоли с эхом и без блокировки.

Внимание

Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.

Синтаксис

int _getche_nolock( void );
wint_t _getwche_nolock( void );

Возвращаемое значение

Возвращает считанный символ. Не возвращается ошибка.

Замечания

Функции _getche_nolock и _getwche_nolock идентичны функциям _getche и _getwche за исключением того, что не защищены от помех со стороны других потоков. Они могут быть быстрее, так как они не влечет за собой затраты на блокировку других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Сопоставления подпрограмм универсального текста

Подпрограмма Tchar.h _UNICODE и _MBCS не определен _MBCS Определенные _UNICODE Определенные
_gettche_nolock _getche_nolock _getch_nolock _getwche_nolock

Требования

Маршрут Обязательный заголовок
_getche_nolock <conio.h>
_getwche_nolock <conio.h> или <wchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// crt_getche_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 = _getche_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: abcdefyY

См. также

Консоль и порт ввода-вывода
_cgets, _cgetws
getc, getwc
_ungetch, , _ungetwch_ungetch_nolock_ungetwch_nolock