Sujet : fscanf, s'arreter en fin de fichier ? - C - Programmation
Marsh Posté le 13-12-2005 à 10:47:00
korxx a écrit : pour les recuperer j'utilise par exemple : |
Ben si "var1" et "var3" sont définies comme des chaînes, style "char var1[100]", faut pas mettre le "&" !!!
Marsh Posté le 13-12-2005 à 10:53:47
un truc dans ce goût là:
Code :
|
Marsh Posté le 13-12-2005 à 17:51:23
Sve@r a écrit : |
oui ca je sais, c'est pas du tout l'objet de ma question... c'etait juste un exemple.
Marsh Posté le 13-12-2005 à 17:52:43
bjone a écrit : un truc dans ce goût là:
|
Merci, en fait je pense avoir trouvé, fscanf renvoi "EOF" quand il arrive en fin de fichier, je vais faire une boucle while avec cette condition, ca devrait marcher
Marsh Posté le 13-12-2005 à 18:06:04
ouai très franchement d'un point de vue propreté, il vaux mieux lire ligne par ligne et parser ta ligne ensuite.
le fscanf y doit cumuler deux domaines d'erreurs: les erreurs de lecture, et les erreurs d'extraction de champ/valeur.
l'avantage c'est que avec un truc style ça:
Code :
|
tu peux plus facilement parser un petit fichier ASCII à la con.
en changeant de mode pour switcher de type de données à récupérer. (avec la possibilité de faire des allez-retours entre plusieurs type d'infos).
notamment j'avais ça pour les fichiers de scènes 3D de 3DStudio en .ASC tout con, mais bon c'était vieux et limité à la base.
le fscanf j'aime po, mais bon ça dépends ce que tu comptes faire par la suite et qu'est-ce que tu as à parser.
Marsh Posté le 13-12-2005 à 09:40:22
Si je met des chaines de characteres dans un fichier
blabla-5-blabla-6
blabla-4-blabla-3
pour les recuperer j'utilise par exemple :
fscanf(file,%6s-%d-%6s-%d,&var1,&var2,&var3,&var4)
par contre ca me recupere que la premiere ligne, comment faire pour recuperer les autres ? et s'arreter quand il n'y en a plus ?
Désolé pour mes questions qui doivent etre d'un niveau peu élevé mais je débute un peu de ce coté la et je ne trouve pas réponse a mes questions dans le bouquin que j'ai...
Merci d'avance