FSEEK
Section: Manuel du programmeur Linux (3) Updated: 21 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION
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 position 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 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 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).
CONFORMITÉ
Les fonctions
fgetpos,
fsetpos,
fseek,
ftell,
et
rewind
sont conformes a ANSI X3.159-1989 (``ANSI C'').
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|