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


_getchar_nolock, _getwchar_nolock

Считывает символ из стандартного входного ввода без блокировки.

Синтаксис

int _getchar_nolock( void );
wint_t _getwchar_nolock( void );

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

См. раздел getchar. getwchar

Замечания

_getchar_nolock они _getwchar_nolock идентичны getchar и getwchar за исключением того, что они не защищены от вмешательства другими потоками. Они могут быть быстрее, так как они не влечет за собой затраты на блокировку других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.

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

Подпрограмма Tchar.h _UNICODE и _MBCS не определен _MBCS Определенные _UNICODE Определенные
_gettchar_nolock _getchar_nolock _getchar_nolock _getwchar_nolock

Требования

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

Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью, stdinstdoutи stderr, должны быть перенаправлены перед тем, как функции времени выполнения C могут использовать их в приложениях UWP. Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// crt_getchar_nolock.c
// Use _getchar_nolock to read a line from stdin.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;

    for (i = 0; (i < 80) && ((ch = _getchar_nolock()) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }

    // Terminate string with a null character

    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);
}

This textInput was: This text

См. также

Потоковый ввод-вывод
getc, getwc
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc