Yunchi
Messages postés100Date d'inscriptionlundi 30 octobre 2006StatutMembreDernière intervention14 avril 2009
-
19 juil. 2007 à 08:33
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 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 ?
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 20133 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.