Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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!!