_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). Стандартные дескрипторы потока, связанные с консолью, stdin
stdout
и 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