Simple lecture de fichier... [ RESOLU ] - C - Programmation
Marsh Posté le 13-05-2008 à 16:42:49
ta méthode avec le fscanf n'est pas bonne, puis que fscanf n'a rien à scanner et retourne donc toujours 0 ...
Tu ferais mieux de lire ligne par ligne avec fgets, et rechercher avec strstr ta chaine.
Marsh Posté le 13-05-2008 à 16:43:27
jijiz a écrit : eedit : est-il possible de donner en paramètre le numero de ligne où l'on souhaite se positionner au lieu du nombre d'octets. |
normal, une ligne c'est juste une vue de l'esprit, c'est une suite de caractères dont le dernier est un \n
Marsh Posté le 13-05-2008 à 16:55:49
comme d'habitude ... regarde le retour de fgets. Aucun problème avec un
Code :
|
Attention aussi à regarder si la line contient un \n final, sinon c'est que la ligne est trop longue pour le buffer.
Marsh Posté le 13-05-2008 à 17:18:31
...
Code :
|
Marsh Posté le 13-05-2008 à 17:21:38
bon RTFM, je perds patience.
Ta méthode du seek est pourrie. Tu dois lire ton fichier jusqu'à trouver la chaine que tu veux dedans: tu peux faire ça avec fgetc, fread ou fgets. Sauf à coder 337 fgets pour atteindre ta ligne, je vois pas comment se passer de while.
Marsh Posté le 14-05-2008 à 07:31:44
ah et dans le while je compare ma chaine a ce que je dois trouvé donc?? Si tu peux/veux réponds à cette dernier question et j'éfface le topic.
Désolé je ne suis pas un l337 de la prog, je suis plutot "algorithmes".
Marsh Posté le 14-05-2008 à 14:07:44
ok j'ai tout cassé et tout refait ca marche. Un bou de code pour ceux que ca pourrait interesser plus tard :
Code :
|
Fichier du type :
CIP |
Marsh Posté le 14-05-2008 à 15:09:16
c'est idiot ça, je t'ai montré le code, expliqué qu'il faut vérifier le retour de fgets, vérifier que la ligne contient bien un '\n', et non, tu veux pas.
Marsh Posté le 14-05-2008 à 15:44:54
Taz a écrit : c'est idiot ça, je t'ai montré le code, expliqué qu'il faut vérifier le retour de fgets, vérifier que la ligne contient bien un '\n', et non, tu veux pas. |
écoute, je n'ai pas compris ton explication et tu m'as annoncé RTFM, j'ai RTFM et trouvé cette solution qui marche et postée car c'est la moindre des choses. Donc maintenant le topic est clos. Je n'ai pas le temps de pinailler sur une autre solution.
"Ca c'est idiot, ma méthode avec fseek est pourrie".... Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm Bref tu es trop fort et légerement pédant. Désolé mais je n'ai pas ton niveau. Sur ce BONNE JOURNEE (suis un poil vexé).
Marsh Posté le 15-05-2008 à 09:56:27
il faut en vouloir pour traduire ça
Taz a écrit : ...
|
en ça
Code :
|
Marsh Posté le 13-05-2008 à 15:08:36
Bonjour à tous,
Je souhaite me balader dans mon fichier via la commande FSEEK et arrivé à un certain point, afficher les 100 caracteres suivants.
J'arrrive bien à me déplacer via FSEEK, cependant la seconde partie pêche : je n'arrive pas a afficher ces CENTanés prochains caractères.
NB : le fichier est correctement ouvert car j'ai réussi a faire d'autres lectures.
Un peu de code: :
Le resultat sont des points interrogation style code ascii (? avec un fond blanc et rond).
Merci pour votre aide.
Message édité par jijiz le 14-05-2008 à 14:08:17