Section courante

A propos

Section administrative du site

FSCANF

Balayage avec format dans le fichier
Langage C stdio.h

Syntaxe

int fscanf(FILE *ptrfichier,const *format,...);

Paramètres

Nom Description
ptrfichier Ce paramètre permet d'indiquer l'identificateur de fichier
format Ce paramètre permet d'indiquer le format des informations à traiter

Description

Cette fonction permet d'effectuer la lecture de texte suivant un certain format dans un fichier.

Algorithme

MODULE FSCANF(stream, format, ...variables)
   SI stream est NULL ALORS
      RETOURNE erreur "Fichier non valide"
   FIN SI

   SI format est NULL ALORS
      RETOURNE erreur "Chaîne de format invalide"
   FIN SI

   Initialiser un compteur de succès à 0 * pour compter les éléments correctement lus

   BOUCLE POUR CHAQUE spécificateur dans la chaîne de format FAIRE
      SI le spécificateur est valide (par exemple, %d, %f, %s,...) ALORS
         Lire l'entrée du fichier associée au spécificateur
         SI la lecture échoue ou si le format ne correspond pas ALORS
            RETOURNE le nombre de succès jusqu'à ce point (certaines lectures peuvent réussir avant une erreur)
         FIN SI
      SINON
         Passer ce caractère du format sans faire d'action, jusqu'à ce que le format soit respecté
      FIN SI
   FIN BOUCLE POUR CHAQUE
   RETOURNE le nombre de succès (éléments correctement lus)

Remarques

Exemple

Prenons pour acquis que le fichier «readtext.txt» est le contenu :

16, 19.74, gladir.com

Voici un exemple montrant une utilisation plus classique de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     FILE * Handle = fopen("readtext.txt", "r");
  7.     if(Handle != NULL) {
  8.         int Entier;
  9.         float Reel;
  10.         char Chaine[255];
  11.         fscanf(Handle,"%i,%f,%s",&Entier,&Reel,&Chaine);
  12.         printf("Entier = %i\n",Entier);
  13.         printf("Réel = %f\n",Reel);
  14.         printf("Chaine de caractères = %s\n",Chaine);
  15.         fclose(Handle);
  16.     }
  17.     return 0;
  18. }

on obtiendra le résultat suivant :

Entier = 16
Réel = 19.740000
Chaine de caractères = gladir.com

Voir également

Langage de programmation - C - Référence de procédures et fonctions - atof
Langage de programmation - C - Référence de procédures et fonctions - fprintf
Langage de programmation - C - Référence de procédures et fonctions - printf
Langage de programmation - C - Référence de procédures et fonctions - scanf
Langage de programmation - C++ - Référence de procédures et fonctions - fscanf

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 732.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 113.

Dernière mise à jour : Mardi, le 28 juillet 2015