Lire dans un fichier.txt en C
daleny31
Messages postés
238
Statut
Membre
-
ydurce Messages postés 81 Statut Membre -
ydurce Messages postés 81 Statut Membre -
Bonjour, j'ai lu pas mal de tuto sur l'utilisation des fichiers txt mais je ne comprend pas grand chose ! Alors j'espere quand vous donnant mon cas précis vous pourrez m'éclairer.
Voila.
J'ai un fichiet texte qui contient plusieurs lignes du style :
ITALIE; ROME; 39
ESPAGNE; MADRID; 34
etc...
avec pays capitale et un entier.
Je souhaiterais chercher si un pays ( préalablement lu au clavier ) est présent dans la liste !!
J'ai lu plein de topic sur fscanf mais j'ai rien pigé...
Merci.
Voila.
J'ai un fichiet texte qui contient plusieurs lignes du style :
ITALIE; ROME; 39
ESPAGNE; MADRID; 34
etc...
avec pays capitale et un entier.
Je souhaiterais chercher si un pays ( préalablement lu au clavier ) est présent dans la liste !!
J'ai lu plein de topic sur fscanf mais j'ai rien pigé...
Merci.
1 réponse
-
pour lire dans un fichier texte, il faut:
ouvrir le fichier en mode text avec une fonction fopen qui retourne un pointeur de fichier de type FILE *.
puis lire séquentiellement ( c'est à dire que chaque lecture incrémentera automatiquement le pointeur) les données du fichier à l'aide de fonction comme fgets qui retourne une ligne de texte compléte ou NULL si la fin du fichier (ou une erreur) est trouvée.
Sur chaque lecture de ligne, vous pouvez intégrer votre traitement (comparaison de chaines de caractéres .....).
Une fois la fin de fichier atteinte, il vous reste à fermer le fichier avec un fclose().
bon courage.-
Ta réponse est correcte à deux petits détails près:
- FILE* est un pointeur sur un objet 'flux' dont le type est opaque.
- sous Linux, il est inutile de préciser si on ouvre en mode 'texte' ou 'binaire'; sur un système Posix il n'y a pas de différentiation. Par contre dans le cas présent il est bien d'ouvrir le fichier en mode 'lecture' (r, r+, a+).
Bonne soirée. -
-