IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Extraction d'informations depuis un fichier de données en C


précédentsommairesuivant

II. Prérequis

Quelques prérequis sont indispensables pour les chapitres à suivre. Des fonctions que tout le monde devrait avoir constamment sous le coude, voici celles indispensables pour ce tutoriel et qui traitent des chaînes de caractères :

Fonction : str_dup
Sélectionnez
static char * str_dup (const char * str)
{
   char * dup = NULL;


   if (str != NULL)
   {
      size_t size = strlen (str) + 1;
      dup = malloc (size);

      if (dup != NULL)
      {
         memcpy (dup, str, size);
      }
   }


   return dup;
}

Cette fonction permet de copier simplement une chaîne de caractères. Le nouveau pointeur retourné par la fonction doit explicitement être libéré avec la fonction standard free.

La seconde fonction indispensable dans ce tutoriel permet de terminer une chaîne de caractères avec un zéro de fin de chaîne, ce qui n'est pas toujours le cas surtout dans des chaînes extraites d'un fichier :

Fonction : str_finalize
Sélectionnez
static void str_finalize (char * str)
{
   char * p = strchr (str, '\n');

   if (p != NULL)
   {
      *p = 0;
   }
}

Cette fonction recherche un éventuel saut de ligne et le remplace par un zéro terminal. Les sauts de ligne sont surtout présents lorsqu'on récupère des lignes de texte à partir d'un fichier, mais les fonctions standards attendent un zéro de fin de chaîne.


précédentsommairesuivant

Copyright © 2009 Franck Hecht. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.