English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico da linguagem C

Controle de fluxo da linguagem C

Funções do C

Matrizes do C

Ponteiro do C

String do C

Estrutura de linguagem C

Arquivo de linguagem C

Outros C

Manual de referência do C

Uso e exemplo da função fprintf() da biblioteca C

Biblioteca Padrão do C - <stdio.h>

Função da biblioteca C int fprintf(FILE) *stream, const char *format, ...) Enviar saída formatada para o fluxo stream.

Declaração

Aqui está a declaração da função fprintf().

int fprintf(FILE) *stream, const char *format, ...)

parâmetros

  • stream -- Este é um ponteiro para o objeto FILE, que identifica o fluxo.
  • format -- Esta é a string C, que contém o texto a ser escrito no fluxo stream. Ele pode conter etiquetas format, que podem ser substituídas pelos valores especificados nos parâmetros adicionais subsequentes e formatados conforme necessário. As propriedades das etiquetas format são %[flags][width][.precision][length]specifier,explicado detalhadamente a seguir:
specifier (especificador)saída
ccaractere
d ou iinteiro decimal signed
eusando o caractere e para a notação científica (subscrito e expoente)
Eusando o caractere E para a notação científica (subscrito e expoente)
fnúmero decimal de ponto flutuante
gescolhe automaticamente a representação apropriada de %e ou %f
Gescolhe automaticamente a representação apropriada de %E ou %f
ooctal signed
scadeia de caracteres do caractere
uinteiro decimal sem sinal
xinteiro hexadecimal sem sinal
Xinteiro hexadecimal sem sinal (letras maiúsculas)
pendereço de ponteiro
nsem saída
%caractere

flags (sinalizadores)Descrição
-Alinhamento à esquerda dentro do campo width especificado, padrão é alinhamento à direita (veja o subindicador width).
+Força a exibição de um sinal (+ ou -) no início do resultado (+ ou -),isto é, à frente dos números positivos será exibido + número. Padrão é exibir um - número.
(espaço)Se nenhum símbolo for escrito, uma espaço será inserida antes do valor.
#Quando usado com os especificadores o, x ou X, valores não nulos serão exibidos com 0, 0x ou 0X respectivamente.
Quando usado com e, E e f, forçará a saída de um ponto decimal, mesmo que não haja números após ele. Padrão é não exibir o ponto decimal se não houver números após ele.
Quando usado com g ou G, o resultado é o mesmo que ao usar e ou E, mas os zeros ao final não são removidos.
0Coloque zeros (0) à esquerda do número especificado para preenchimento, em vez de espaços (veja o subindicador width).

largura (largura)Descrição
(número)O número mínimo de caracteres a serem exibidos. Se o valor exibido for menor que este número, o resultado será preenchido com espaços. Se o valor exibido for maior que este número, o resultado não será truncado.
*A largura não especificada na string format, mas será colocada como um parâmetro inteiro adicional antes do parâmetro a ser formatado.

.precision (precisão)Descrição
.numberPara os descritores inteiros (d, i, o, u, x, X): a precisão especifica o número mínimo de dígitos do número a ser escrito. Se o valor escrito for mais curto do que esse número, o resultado será preenchido com zeros à esquerda. Se o valor escrito for mais longo do que esse número, o resultado não será truncado. A precisão de 0 significa que nenhum caractere será escrito.
Para os descritores e, E e f: o número de dígitos decimais a serem output após o ponto decimal.
Para os descritores g e G: o número máximo de dígitos significativos a serem output.
Para s: o número máximo de caracteres a serem output. Por padrão, todos os caracteres serão output até encontrar o caractere nulo final.
Para o tipo c: não tem nenhum efeito.
Quando nenhuma precisão é especificada, o padrão é 1Se especificado sem um valor explícito, é assumido como 0.
.*A precisão não é especificada no string de formato, mas será colocada como um valor inteiro adicional antes do parâmetro a ser formatado. Se especificado sem um valor explícito, é assumido como 0.

Tamanho (length)Descrição
hOs parâmetros são interpretados como short int ou unsigned short int (apenas para os descritores inteiros: i, d, o, u, x e X).
lOs parâmetros são interpretados como long int ou unsigned long int, apropriados para os descritores inteiros (i, d, o, u, x e X) e o descritor c (representando um caractere amplo) e s (representando uma string de caractere amplo).
LOs parâmetros são interpretados como long double (apenas para os descritores de ponto flutuante: e, E, f, g e G).
  • Parâmetros adicionais -- De acordo com diferentes strings de formato, a função pode precisar de uma série de parâmetros adicionais, cada um contendo um valor a ser inserido, substituindo cada sinal de porcentagem (%) especificado no formato. O número de parâmetros deve ser o mesmo que o número de sinais de porcentagem (%).

Retorno

Se bem-sucedido, retorna o número total de caracteres escritos, caso contrário, retorna um número negativo.

Exemplo online

O exemplo a seguir demonstra o uso da função fprintf().

#include <stdio.h>
#include <stdlib.h>
int main()
{
   FILE * fp;
   fp = fopen ("file.txt", "w+");
   fprintf(fp, "%s %s %s %d", "We", "are", "in", 2014);
   fclose(fp);
   return(0);
}

Vamos compilar e executar o programa acima, o que criará o arquivo file.txt,e seu conteúdo é o seguinte:

We are in 2014

Agora vamos usar o seguinte programa para ver o conteúdo do arquivo acima:

#include <stdio.h>
int main ()
{
   FILE *fp;
   int c;
   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
          break ;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

Biblioteca Padrão do C - <stdio.h>