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