Compartilhar via


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.

Valor retornado

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âmetro 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 caractere c único em um arquivo na posição indicada pelo indicador de posição do arquivo associado, se definido. As funções avançam o indicador conforme apropriado. Em fputc e fputwc, o arquivo está associado a stream. Se o arquivo não puder suportar 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 pelo fato de não serem protegidas contra interferência de outros threads. Para obter mais informações, consulte_fputwc_nolock_fputc_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 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, 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
_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, 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.

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