Métro : un fragment de corrigé (la lecture dans un fichier)

, par Pierre

Juste une petite fonction.

  1. /* Charger une ligne de métro décrite dans un fichier */
  2. ligne_t *charger(const char *s) {
  3. FILE *f;
  4. char tampon[256]; /* zone tampon contenant les caractères lus */
  5. ligne_t *h;
  6. double numero;
  7. int taille;
  8.  
  9. f = fopen(s, "r");
  10. assert(f); /* <-- utiliser #include <assert.h> */
  11.  
  12. /* 1) lire le nom de la ligne (un double) */
  13. fscanf(f, "%lf", &numero);
  14. h = creer_ligne(numero);
  15.  
  16. /* 2) lire le nombre de stations (on ne s'en sert pas) */
  17. fscanf(f, "%d", &taille);
  18.  
  19. /* 3) lire la liste des stations */
  20.  
  21. /* lire une ligne */
  22. fgets(tampon, 256, f);
  23. while (!feof(f)) {/* tant que la dernier lecture n'a pas atteint la
  24.   fin du fichier */
  25. /* ajouter le contenu du tampon sans \n aux stations */
  26. /* supprimer le \n final */
  27. tampon[strlen(tampon) - 1] = '\0';
  28. /* effectuer l'ajout */
  29. ajouter_station_fin(h, tampon);
  30. /* lire la ligne suivante */
  31. fgets(tampon, 256, f);
  32. }
  33. fclose(f);
  34. return h;
  35. }

Télécharger

Revenu et logement, Je livre ici quelques éléments de comparaison concernant mon niveau de vie, pour couper court à quelques idées reçues, et un condensé de nombreuses (...)
Revenu et travail d’un enseignant-chercheur, Cet article complète l'article Revenu et logement, en détaillant un peu le budget de mon ménage, mon parcours d'enseignant-chercheur en terme de (...)
Cybersyn (el systemo synco), Au café, mardi 5 avril 2011, j'ai bien vu que, mis à part Antoine Allombert, personne ne connaissait l'histoire de l'extraordinaire projet chilien (...) [jpg, jpg, png]