_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 o ARQUIVO estrutura.
Valor de retorno
See putc, putwc.
Comentários
_putc_nolock e _putwc_nolock são idênticas às versões sem a _nolock sufixo, exceto pelo fato de que eles não estão protegidos contra interferência por outros threads.Talvez mais rápidos porque eles não aumentam a sobrecarga de bloqueio de outros segmentos.Utilizar essas funções em contextos de thread-safe, sistema autônomo aplicativos single-threaded ou onde o escopo de chamada já manipula o thread isolamento.
_putwc_nolock é a versão de caractere largo da _putc_nolock; as duas funções tenham comportamento idêntico se o fluxo é aberto no modo ANSI. _putc_nolock atualmente não suporta saída em um fluxo UNICODE.
Mapeamentos de rotina de texto genérica
Rotina tchar.h |
_UNICODE e _MBCS não definido |
_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> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Bibliotecas
Todas as versões do C em time de execução bibliotecas.
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