_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 a estrutura FILE.
Valor de retorno
Cada uma dessas funções retorna o caractere escrito. Para obter informações sobre erro, consulte fputc, fputwc.
Comentários
_fputc_nolock e _fputwc_nolock são idênticos a fputc e fputwc, respectivamente, 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.
As duas funções se comportam de maneira idêntica, se o fluxo estiver aberto no modo de ANSI. _fputc_nolock não tem suporte para saída em um fluxo UNICODE.
Mapeamentos da rotina de texto genérico
Rotina Tchar.h |
_UNICODE e _MBCS não definidos |
_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> |
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.
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 ) ;
}