_fputc_nolock, _fputwc_nolock
Grava um caractere em um fluxo sem bloquear o thread.
int _fputc_nolock(
int c,
FILE *stream
);
wint_t _fputwc_nolock(
wchar_t c,
FILE *stream
);
Parâmetros
c
Caractere a ser gravado.stream
Ponteiro para o FILE estrutura.
Valor de retorno
Cada uma dessas funções retorna o caractere escrito.Para obter informações de erro, consulte fputc, fputwc.
Comentários
_fputc_nolock e _fputwc_nolock são idênticos fputc e fputwc, respectivamente, exceto que eles não estejam 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.
As duas funções tenham comportamento idêntico se o fluxo é aberto no modo ANSI._fputc_nolock não oferece suporte atualmente à 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 |
---|---|---|---|
_fputtc_nolock |
_fputc_nolock |
_fputc_nolock |
_fputwc_nolock |
Requisitos
Função |
Cabeçalho necessário |
---|---|
_fputc_nolock |
<stdio.h> |
_fputwc_nolock |
<stdio.h> ou <wchar.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// crt_fputc_nolock.c
// This program uses _fputc_nolock
// to send a character array to stdout.
#include <stdio.h>
int main( void )
{
char strptr1[] = "This is a test of _fputc_nolock!!\n";
char *p;
// Print line to stream using fputc.
p = strptr1;
while( (*p != '\0') && _fputc_nolock( *(p++), stdout ) != EOF ) ;
}
This is a test of _fputc_nolock!!