C pointeur dans un fichier

Signaler
Messages postés
100
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
14 avril 2009
-
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013
-
Bonjour,

J'aimerai savoir s'il est possible lors d'une lecture dans un fichier de revenir plus haut dans le fichier. Par exemple on fait des gets donc ca descend ligne par ligne et on veut revenir sur une ligne plus haut dans le fichier, est-ce qu'il existe une fonction similaire au gets mais qui remonte dans le texte ?

Merci

1 réponse

Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Salut !
Un petit de msdn ou autre documentation puisque c'est standard et hop :

int fseek(FILE *stream, long offset, int origin);

stream = Obtenu par ton fopen(...)
offset = nombre d'octet dont tu veux te déplacer depuis origin
origin = A partir de où tu te déplace


Defines pour origin :
SEEK_CUR Position courante dans le fichier
SEEK_END Fin de fichier
SEEK_SET Début de fichier

fseek retourn 0 si la fonction à réussi.

Si ton fichier est ouvert en mode texte, utilise ftell pour calculer tes positions car à cause des \n qui peuvent faire 2 octets au lieu d'un seul, fseek risque de se décaler.