Lire dans un fichier.txt en C

Fermé
daleny31 Messages postés 222 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 janvier 2015 - Modifié par daleny31 le 26/10/2010 à 19:14
ydurce Messages postés 78 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 12 décembre 2010 - 26 oct. 2010 à 23:26
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.




A voir également:

1 réponse

ydurce Messages postés 78 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 12 décembre 2010 18
26 oct. 2010 à 22:51
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.
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
26 oct. 2010 à 23:17
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.
0
ydurce Messages postés 78 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 12 décembre 2010 18
26 oct. 2010 à 23:26
la notion d'objet en C n'existe pas.
on peut limiter la réponse à linux et dire qu'un fichier binaire est interprété comme un fichier texte mais c'est un raccourci inutile et trompeur pour d'autres OS.
sinon merci de corriger ma réponse.
0