Lire dans un fichier

je_ne_viens_qu1_fois Messages postés 12 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 25 août 2006 - 24 avril 2006 à 11:13
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 - 24 avril 2006 à 11:55
Bonjour à tous
J'ai un fichier data, créé par une carte d'acquisition à laquelle je n'ai pas accès, qui est du genre:

4091391 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 109 0 35 198 0
4091391 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 70 0 35 197 0
4091391 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 95 0 35 196 0
4091391 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 136 0 35 195 0
4091407 DEBUG com.sensl.core.JASPDeviceManager - Device list refresh
4091407 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 92 0 35 194 0
4091407 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 104 0 35 193 0
4091407 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 109 0 35 192 0
4091407 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 87 0 35 191 0

ce que je veux, c'est:
1) récupérer les chiffres qui sont dans les lignes contenant l'instruction "Rec", juste après l'instruction "Rec"
2) sauter par dessus les lignes où il n'y a pas "Rec".

j'ai utilisé déja fscanf, avec différents formats comme "[^:]", utilisé aussi des méthodes très bourrines comme associé à chaque caractère de la ligne une variable lors de la lecture de la ligne (ex.: pour la ligne "4091391 DEBUG com.sensl.comm.JASPImpl - Rec: 6 5 79 5 109 0 35 198 0", je mets 4091391 dans une variable v1, "debug" dans une variable v2 etc...), mais cette méthode ne permet pas de sauter des lignes..

ce que j'aimerais donc, c'est une solution, et si possible élégante.

merci d'avance

1 réponse

yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
24 avril 2006 à 11:55
Utilise fgets pour récupérer les infos lignes par ligne et ensuite tu traites chaque ligne en vérifiant leur contenu.

YOYO, @+.
[font= Comic Sans MS][size=3] [green][:D] YOYO [;)]/green =3Sans MS
0
Rejoignez-nous