je suis actuellement au chapitre "Lire et écrire dans des fichiers".
J'en suis à la partie qui consiste à lire l'ensemble d'un .txt grâce à la commande fgets, ligne par ligne.
J'utilise cet algo (j'ai regardé après l'avoir fait, il semble correspondre au corrigé du chapitre) :
printf("\nLe fichier test.txt est ferme"); } else { // On affiche un message d'erreur si on veut printf("Impossible d'ouvrir le fichier test.txt\n"); } }
Je poste ici car au final je suis à 99% sur de savoir où le problème !
La fonction fgets (et c'est là son "interet") ne relit pas 2 fois la même ligne, or ici en suivant le schéma de ma boucle while on comprend pourquoi il ne me renvoit qu'une ligne sur deux !
Le truc c'est que je n'arrive pas trop à voir comment échapper à ce problème... je n'arrive pas non plus à voir la différence avec celui qui est donné sur le site (en supposant qu'il soit effectivement bon!)
if(fichier != NULL) { while(fgets(chaine, TAILLE_MAX, fichier) != NULL)// On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL) { printf("%s", chaine); // On affiche la chaîne qu'on vient de lire }
fclose(fichier); }
return0; }
EDIT :
C'est bon je viens de capter où était le problème (quel zero je fait )
Petit problème avec fgets
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.