FSEEK(3) Manuel du programmeur Linux FSEEK(3)
NOM
fseek, fgetpos, fsetpos, ftell, rewind - Accéder à la
position courante d'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);
DESCRIPTION
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 indique 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 pour le flux, et
annule les effets de toute fonction ungetc(3) précédente
sur le même flux.
La fonction ftell lit la valeur de l'indicateur de posi
tion pour le flux pointé par stream.
La fonction rewind ramène 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é. (voir clearerr(3)).
Les fonctions fgetpos et fsetpos sont des alternatives à
ftell et fseek (avec whence valant SEEK_SET), en fixant,
ou en mémorisant la valeur de l'indicateur de position du
fichier dans l'objet référencé par pos. Sur certains
systèmes non-UNIX, l'objet fpos_t peut être un objet com
plexe, 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.
BSD 19 Juillet 1997 1
FSEEK(3) Manuel du programmeur Linux FSEEK(3)
ERREURS
EBADF Le flux stream n'est pas positionnable.
EINVAL L'argument whence dans l'appel fseek n'était ni
SEEK_SET, ni SEEK_END, ni SEEK_CUR.
Les fonctions fgetpos, fseek, fsetpos, et ftell peuvent
également, en échec, positionner errno sur n'importe
quelle erreur indiquée par les routines fflush(3),
fstat(2), lseek(2), et malloc(3).
VOIR AUSSI
lseek(2)
CONFORMITÉ
Les fonctions fgetpos, fsetpos, fseek, ftell, et rewind
sont conformes a ANSI C3.159-1989 (``ANSI C'').
TRADUCTION
Christophe Blaess, 1997.
BSD 19 Juillet 1997 2