_putc_nolock, _putwc_nolock
Записывает символ в поток без блокирования потока.
int _putc_nolock(
int c,
FILE *stream
);
wint_t _putwc_nolock(
wchar_t c,
FILE *stream
);
Параметры
c
Символ, который требуется записать.stream
Указатель на структуру FILE.
Возвращаемое значение
Смотрите раздел putc, putwc.
Заметки
_putc_nolock и _putwc_nolock идентичны версиям без суффикса _nolock, за исключением того, что они не защищены от взаимодействия с другими потоками. Они могут выполняться быстрее, поскольку не создают дополнительную нагрузку, связанную с блокировкой работы других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.
_putwc_nolock является версией _putc_nolock для расширенных символов; две функции ведут себя одинаково, если поток открывается в режиме ANSI. _putc_nolock в настоящее время не поддерживает вывод в поток в юникоде.
Универсальное текстовое сопоставление функций
Подпрограмма Tchar.h |
_UNICODE и _MBCS не определены |
_MBCS определено |
_UNICODE определено |
---|---|---|---|
_puttc_nolock |
_putc_nolock |
_putc_nolock |
_putwc_nolock |
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_putc_nolock |
<stdio.h> |
_putwc_nolock |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях Магазин Windows. Стандартные дескрипторы потока, связанные с консолью — stdin, stdout и stderr — необходимо перенаправить, чтобы функции C времени выполнения могли использовать их в приложениях Магазин Windows. Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Все версии библиотек времени выполнения C.
Пример
// crt_putc_nolock.c
/* This program uses putc to write buffer
* to a stream. 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;
/* Make standard out the stream and write to it. */
stream = stdout;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = _putc_nolock( *p, stream );
}
Output
This is the line of output