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


_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

Эквивалент в .NET Framework

См. также

Ссылки

Потоковый ввод-вывод

fputc, fputwc

getc, getwc