_putchar_nolock
, _putwchar_nolock
Записывает символ stdout
без блокировки.
Синтаксис
int _putchar_nolock(
int c
);
wint_t _putwchar_nolock(
wchar_t c
);
Параметры
c
Символ, который требуется записать.
Возвращаемое значение
См. описание функций putchar, putwchar.
Замечания
putchar_nolock
и _putwchar_nolock
идентичны версиям без _nolock
суффикса, за исключением того, что они не защищены от вмешательства другими потоками. Они могут быть быстрее, так как они не влечет за собой затраты на блокировку других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.
Сопоставления подпрограмм универсального текста
Подпрограмма Tchar.h | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_puttchar_nolock |
_putchar_nolock |
_putchar_nolock |
_putwchar_nolock |
Требования
Маршрут | Обязательный заголовок |
---|---|
_putchar_nolock |
<stdio.h> |
_putwchar_nolock |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью, stdin
stdout
и stderr
, должны быть перенаправлены перед тем, как функции времени выполнения C могут использовать их в приложениях UWP. Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Все версии библиотек времени выполнения языка C.
Пример
// crt_putchar_nolock.c
/* This program uses putchar to write buffer
* to stdout. If an error occurs, the program
* stops before writing the entire buffer.
*/
#include <stdio.h>
int main( void )
{
FILE *stream;
char *p, buffer[] = "This is the line of output\n";
int ch;
ch = 0;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = _putchar_nolock( *p );
}
Выходные данные
This is the line of output