_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