putchar
, putwchar
Grava um caractere em stdout
.
Sintaxe
int putchar(
int c
);
wint_t putwchar(
wchar_t c
);
Parâmetros
c
O caractere a ser gravado.
Valor retornado
Retorna o caractere gravado. Para indicar um erro ou condição putc
de fim de arquivo e putchar
retornar EOF
; putwc
e putwchar
retornar WEOF
. Para todas as quatro rotinas, use ferror
ou feof
para verificar se há um erro ou fim de arquivo. Se for passado um ponteiro nulo para stream
, essas funções gerarão uma exceção de parâmetro inválida, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, eles retornarão EOF
ou WEOF
, e definirão errno
como EINVAL
.
Para obter mais informações sobre códigos de retorno, confira errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Comentários
A rotina putc
grava o único caractere c
para a saída stream
na posição atual. Qualquer inteiro pode ser passado para putc
, mas somente os 8 bits inferiores são gravados. A putchar
rotina é idêntica a putc( c, stdout )
. Para cada rotina, se ocorrer um erro de leitura, o indicador de erro para o fluxo será definido. putc
e putchar
são semelhantes a fputc
e _fputchar
, respectivamente, mas são implementados como funções e como macros (consulte Recomendações para escolher entre funções e macros). putwc
e putwchar
são as versões de caractere largo de putc
e putchar
, respectivamente.
As versões com o sufixo _nolock
são idênticas, exceto pelo fato de não serem protegidas contra interferência de outros threads. Elas pode ser mais rápidas, pois 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.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Mapeamentos de rotina de texto genérico
Rotina TCHAR.H | _UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_puttchar |
putchar |
putchar |
putwchar |
Requisitos
Rotina | Cabeçalho necessário |
---|---|
putchar |
<stdio.h> |
putwchar |
<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.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;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = putchar( *p );
}
Saída
This is the line of output