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

Confira também

E/S de fluxo
fputc, fputwc
getc, getwc