_putchar_nolock
, _putwchar_nolock
Grava um caractere em stdout
sem bloquear.
Sintaxe
int _putchar_nolock(
int c
);
wint_t _putwchar_nolock(
wchar_t c
);
Parâmetros
c
O caractere a ser gravado.
Valor retornado
Consulte putchar, putwchar.
Comentários
putchar_nolock
e _putwchar_nolock
são idênticas às versões sem o sufixo _nolock
, exceto pelo fato de não serem protegidas contra interferência de outros threads. Elas podem ser mais rápidas porque não incorrem na sobrecarga de bloquear outros threads. Use estas funções apenas em contextos thread-safe, como aplicativos de thread único ou em que o escopo de chamada já trata do isolamento de threads.
Mapeamentos de rotina de texto genérico
Rotina Tchar.h | _UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_puttchar_nolock |
_putchar_nolock |
_putchar_nolock |
_putwchar_nolock |
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_putchar_nolock |
<stdio.h> |
_putwchar_nolock |
<stdio.h> ou <wchar.h> |
Não há suporte para o console em aplicativos UWP (Plataforma Universal do Windows). Os identificadores de fluxo padrão associados ao console, stdin
, stdout
e stderr
, devem ser redirecionados antes que as funções em tempo de execução C possam usá-los em aplicativos UWP. Para obter informações sobre compatibilidade, consulte Compatibilidade.
Bibliotecas
Todas as versões das bibliotecas em tempo de execução C.
Exemplo
// crt_putchar_nolock.c
/* This program uses putchar to write buffer
* to stdout. 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;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = _putchar_nolock( *p );
}
Saída
This is the line of output