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!!