NOM
fgetpos, fseek, fsetpos, ftell, rewind - Positionner un flux
SYNOPSIS
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
long ftell(FILE *stream);
void rewind(FILE *stream);
int fgetpos(FILE *stream, fpos_t *pos);
int fsetpos(FILE *stream, fpos_t *pos);
La fonction fseek() fixe l’indicateur de position du flux pointé par
stream. La nouvelle position, mesurée en octets, est obtenue en
additionnant offset octets au point de départ indiqué par whence. Si
whence vaut SEEK_SET, SEEK_CUR, ou SEEK_END, le point de départ
correspond respectivement au début du fichier, à la position actuelle,
ou à la fin du fichier. Un appel réussi à fseek() efface l’indicateur
de fin de fichier du flux, et annule les effets de toute fonction
ungetc(3) sur le même flux.
La fonction ftell() obtient la valeur de l’indicateur de position du
flux pointé par stream.
La fonction rewind() place l’indicateur de position du flux pointé par
stream au début du fichier. C’est l’équivalent de :
(void) fseek(stream, 0L, SEEK_SET)
sauf que l’indicateur d’erreur du flux est également effacé. (voyez
clearerr(3)).
Les fonctions fgetpos() et fsetpos() sont des alternatives à ftell() et
fseek() (avec whence à SEEK_SET), en fixant, et en mémorisant la valeur
de l’indicateur de position du fichier dans ou depuis l’objet référencé
par pos. Sur certains systèmes non Unix, l’objet fpos_t peut être un
objet complexe, et ces routines peuvent être les seules méthodes
possibles pour repositionner un flux de texte de manière portable.
VALEUR RENVOYÉE
La fonction rewind() ne renvoie pas de valeur. Si elles réussissent
totalement, fgetpos(), fseek(), fsetpos() renvoient 0, et ftell()
renvoie la position actuelle. Sinon, elles renvoient -1 et la variable
globale errno contient le code d’erreur.
ERREURS
EBADF Le flux stream n’est pas un flux positionnable.
EINVAL L’argument whence de fseek() n’était ni SEEK_SET, ni SEEK_END,
ni SEEK_CUR.
Les fonctions fgetpos(), fseek(), fsetpos(), et ftell() peuvent
également, en cas d’échec, définir errno sur n’importe quelle erreur
indiquée par les routines fflush(3), fstat(2), lseek(2) et malloc(3).
CONFORMITÉ
C89, C99.
VOIR AUSSI
lseek(2), fseeko(3)
COLOPHON
Cette page fait partie de la publication 3.23 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent être trouvées à l’adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».