/* Charger une ligne de métro décrite dans un fichier */ ligne_t *charger(const char *s) { FILE *f; char tampon[256]; /* zone tampon contenant les caractères lus */ ligne_t *h; double numero; int taille; f = fopen(s, "r"); assert(f); /* <-- utiliser #include */ /* 1) lire le nom de la ligne (un double) */ fscanf(f, "%lf", &numero); h = creer_ligne(numero); /* 2) lire le nombre de stations (on ne s'en sert pas) */ fscanf(f, "%d", &taille); /* 3) lire la liste des stations */ /* lire une ligne */ fgets(tampon, 256, f); while (!feof(f)) {/* tant que la dernier lecture n'a pas atteint la fin du fichier */ /* ajouter le contenu du tampon sans \n aux stations */ /* supprimer le \n final */ tampon[strlen(tampon) - 1] = '\0'; /* effectuer l'ajout */ ajouter_station_fin(h, tampon); /* lire la ligne suivante */ fgets(tampon, 256, f); } fclose(f); return h; }