fputc, fputwc

Grava um caractere em um fluxo.

Sintaxe

int fputc(
   int c,
   FILE *stream
);
wint_t fputwc(
   wchar_t c,
   FILE *stream
);

Parâmetros

c
O caractere a ser gravado.

stream
Ponteiro para a estrutura FILE.

Retornar valor

Cada uma dessas funções retorna o caractere gravado. Para fputc, um valor retornado de EOF indica que há um erro. Para fputwc, um valor retornado de WEOF indica que há um erro. Se stream for NULL, essas funções invocam o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução puder continuar, elas retornarão EOF 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

Cada uma dessas funções grava o único caractere c em um arquivo na posição indicada pelo indicador de posição de arquivo associado, se definido. As funções avançam o indicador conforme apropriado. Em fputc e fputwc, o arquivo está associado ao stream. Se o arquivo não puder oferecer suporte a solicitações de posicionamento ou tiver sido aberto no modo de acréscimo, o caractere será anexado ao final do fluxo.

As duas funções terão comportamento idêntico se o fluxo for aberto no modo ANSI. Atualmente, fputc não dá suporte para a saída em um fluxo UNICODE.

As versões com o sufixo _nolock são idênticas, exceto que não estão protegidas contra interferência de outros threads. Para obter mais informações, consulte_fputc_nolock, _fputwc_nolock.

Veja comentários específicos sobre a rotina a seguir.

Rotina Comentários
fputc Equivalente a putc, mas implementado somente como uma função, em vez de uma função e uma macro.
fputwc Versão de caractere largo de fputc. Grava c como um caractere multibyte ou um caractere largo quando stream é aberto no modo de texto ou no modo binário, respectivamente.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_fputtc fputc fputc fputwc

Requisitos

Função Cabeçalho necessário
fputc <stdio.h>
fputwc <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 — , stdoute stderrstdin devem ser redirecionados antes que as funções de tempo de execução C possam usá-los em aplicativos UWP. Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// crt_fputc.c
// This program uses fputc
// to send a character array to stdout.

#include <stdio.h>

int main( void )
{
   char strptr1[] = "This is a test of fputc!!\n";
   char *p;

   // Print line to stream using fputc.
   p = strptr1;
   while( (*p != '\0') && fputc( *(p++), stdout ) != EOF ) ;

}
This is a test of fputc!!

Confira também

E/S de fluxo
fgetc, fgetwc
putc, putwc