C pointeur dans un fichier

Yunchi Messages postés 100 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 14 avril 2009 - 19 juil. 2007 à 08:33
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 - 19 juil. 2007 à 09:24
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

ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
19 juil. 2007 à 09:24
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.
0
Rejoignez-nous