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

Tutoriel de base du langage C

Contrôle de flux du langage C

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chaine de caractères en langage C

Structure de langage C

Fichier de langage C

Autres C

Manuel de référence du langage C

Méthode et exemple d'utilisation de la fonction fprintf() de la bibliothèque C

Bibliothèque standard C - <stdio.h>

Fonction de bibliothèque C int fprintf(FILE) *stream, const char *format, ...) Envoyer une sortie formatée vers le flux stream.

Déclaration

Voici la déclaration de la fonction fprintf().

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

paramètres

  • stream -- C'est un pointeur vers un objet FILE, qui identifie le flux.
  • format -- C'est une chaîne de caractères C, qui contient le texte à écrire dans le flux stream. Il peut contenir des balises de format intégrées, qui peuvent être remplacées par les valeurs spécifiées dans les paramètres supplémentaires et formatées selon les besoins. Les attributs des balises de format sont %[flags][width][.precision][length]specifier,ci-dessous est une explication détaillée :
specifier (indicateur)sortie
ccaractère
d ou ientier décimal signé
enotation scientifique utilisant le caractère e (manteau et exposant)
Enotation scientifique utilisant le caractère E (manteau et exposant)
fnombre flottant décimal
gchoisissez automatiquement la représentation appropriée entre %e ou %f
Gchoisissez automatiquement la représentation appropriée entre %E ou %f
ooctal signé
schaîne de caractères du caractère
uentier décimal sans signe
xentier hexadécimal sans signe
Xentier hexadécimal sans signe (lettres majuscules)
padresse pointeur
npas de sortie
%caractère

flags (drapeaux)Description
-Alignement à gauche dans la largeur du champ donné, par défaut alignement à droite (voir le sous-indicateur width).
+Force l'affichage d'un signe plus ou moins avant le résultat (+ ou -),c'est-à-dire que devant les nombres positifs est affiché + par défaut, seules les valeurs négatives affichent un - signe.
(space)Si aucun symbole n'est écrit, insérez un espace devant cette valeur.
#Lorsqu'il est utilisé avec les indicateurs o, x ou X, les valeurs non nulles sont précédées respectivement de 0, 0x ou 0X.
Lorsqu'il est utilisé avec e, E et f, il force l'output d'un point décimal, même s'il n'y a pas de nombre après. Par défaut, s'il n'y a pas de nombre après, le point décimal n'est pas affiché.
Lorsqu'il est utilisé avec g ou G, le résultat est le même que lorsqu'il est utilisé avec e ou E, mais les zéros à la fin ne sont pas supprimés.
0Placez des zéros (0) à gauche du nombre spécifié pour le remplissage padding, plutôt que des espaces (voir le sous-indicateur width).

width (largeur)Description
(number)Le nombre minimum de caractères à sortir. Si la valeur sortante est plus courte que ce nombre, le résultat est rempli de espaces. Si la valeur sortante est plus longue que ce nombre, le résultat n'est pas tronqué.
*La largeur n'est pas spécifiée dans la chaîne de format, mais est placée comme paramètre entier supplémentaire avant le paramètre à formater.

.precision (précision)Description
.numberPour les types de nombres entiers (d, i, o, u, x, X) : la précision indique le nombre minimum de chiffres à écrire pour le nombre. Si la valeur écrite est plus courte que ce nombre, le résultat est rempli de zéros de tête. Si la valeur écrite est plus longue que ce nombre, le résultat n'est pas tronqué. Une précision de 0 signifie qu'aucun caractère n'est écrit.
Pour les désignateurs e, E et f : nombre de décimales à écrire après le point décimal.
Pour les désignateurs g et G : nombre maximum de chiffres significatifs à écrire.
Pour le type s : nombre maximum de caractères à écrire. Par défaut, tous les caractères sont écrits jusqu'à ce que le caractère de fin de chaîne soit rencontré.
Pour le type c : n'a aucun effet.
Lorsqu'aucune précision n'est spécifiée, la valeur par défaut est 1.Si elle n'est pas spécifiée avec une valeur explicite, elle est supposée être 0.
.*L'exactitude n'est pas spécifiée dans la chaîne de format, mais est placée avant le paramètre à formater en tant que valeur entière supplémentaire.

Longueur (longueur)Description
hLes paramètres sont interprétés comme des types de court ou de type unsigned short (seulement pour les types de nombres entiers : i, d, o, u, x et X).
lLes paramètres sont interprétés comme des types de long ou de type unsigned long, applicables aux types de nombres entiers (i, d, o, u, x et X) et aux types c (représentant un caractère large) et s (représentant une chaîne de caractères large).
LLes paramètres sont interprétés comme des types de précision longue (seulement pour les types de flottants : e, E, f, g et G).
  • Paramètres supplémentaires -- Selon la chaîne de format, la fonction peut nécessiter une série de paramètres supplémentaires, chaque paramètre contient une valeur à insérer, qui remplace chaque % tag spécifié dans le format. Le nombre de paramètres doit être égal au nombre de % tags.

Valeur de retour

Si le succès, il renvoie le nombre total de caractères écrits, sinon il renvoie un nombre négatif.

Exemple en ligne

L'exemple suivant montre l'utilisation de la fonction 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);
}

Compilons et exécutons le programme ci-dessus, ce qui créera le fichier file.txtet son contenu est le suivant :

Nous sommes dans 2014

Maintenant, utilisons le programme suivant pour afficher le contenu du fichier ci-dessus :

#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);
}

Bibliothèque standard C - <stdio.h>