Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Grava um caractere em um fluxo.
Sintaxe
int putc(
int c,
FILE *stream
);
wint_t putwc(
wchar_t c,
FILE *stream
);
Parâmetros
c
O caractere a ser gravado.
stream
Ponteiro para a estrutura FILE.
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, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, essas funções retornarão EOF ou WEOF, e definidas 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. putwc e putc terão comportamento idêntico se o fluxo for aberto no modo ANSI. Atualmente, putc não dá suporte para a saída em um fluxo UNICODE.
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. Para obter mais informações, consulte _putc_nolock, _putwc_nolock.
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 |
|---|---|---|---|
_puttc |
putc |
putc |
putwc |
Requisitos
| Rotina | Cabeçalho necessário |
|---|---|
putc |
<stdio.h> |
putwc |
<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_putc.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( *p, stream );
}
Saída
This is the line of output