Compartilhar via


_putc_nolock, _putwc_nolock

Grava um caractere em um fluxo sem bloquear o thread.

int _putc_nolock( 
   int c, 
   FILE *stream  
); 
wint_t _putwc_nolock( 
   wchar_t c, 
   FILE *stream  
);

Parâmetros

  • c
    Caractere a ser gravado.

  • stream
    Ponteiro para a estrutura FILE.

Valor de retorno

Consulte putc, putwc.

Comentários

_putc_nolock e _putwc_nolock são idênticos às versões sem o sufixo _nolock, exceto que não são protegidos contra a interferência de outros threads. Elas podem ser mais rápidas, pois não incorrem na sobrecarga de bloquear outros threads. Use essas funções somente em contextos de thread-safe, como aplicativos single-threaded ou onde o escopo de chamada já manipula o isolamento do thread.

_putwc_nolock é a versão de caracteres largos de _putc_nolock; as duas funções se comportarão de forma idêntica se o fluxo for aberto no modo de ANSI. No momento, _putc_nolock não tem suporte para saída em fluxo UNICODE.

Mapeamentos da rotina de texto genérico

Rotina Tchar.h

_UNICODE e _MBCS não definidos

_MBCS definido

_UNICODE definido

_puttc_nolock

_putc_nolock

_putc_nolock

_putwc_nolock

Requisitos

Rotina

Cabeçalho necessário

_putc_nolock

<stdio.h>

_putwc_nolock

<stdio.h> ou <wchar.h>

O console não tem suporte em aplicativos do Windows Store. Os manipuladores de fluxo padrão associados ao console — stdin, stdout e stderr — devem ser redirecionados antes que as funções de tempo de execução do C possam utilizá-los em aplicativos do Windows Store. Para obter mais informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Todas as versões das Bibliotecas em tempo de execução C.

Exemplo

// 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 );
}

Saída

This is the line of output

Equivalência do .NET Framework

Consulte também

Referência

E/S de fluxo

fputc, fputwc

getc, getwc