Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Записывает символ в поток без блокирования потока.
int _putc_nolock(
int c,
FILE *stream
);
wint_t _putwc_nolock(
wchar_t c,
FILE *stream
);
Параметры
c
Символ, который требуется записать.stream
Указатель на структуру файл.
Возвращаемое значение
В разделе putc, putwc.
Заметки
_putc_nolock и _putwc_nolock идентичны версии без суффикса _nolock, за исключением того, что они не защищены от взаимодействия другим потокам.Они могут выполняться быстрее, поскольку они не создают нагрузку блокировать работу других потоков.Эти функции только в потокобезопасных контекстов, например однопоточные. приложения или, при вызове область уже обрабатывает изоляция потока.
версия _putwc_nolock является _putc_nolock; 2 функции ведут себя одинаково, если поток открывается в режиме 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