putc
, putwc
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