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);
DESCRIPTION¶
La fonction
fseek() définit 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é (consultez
clearerr(3)).
Les fonctions
fgetpos() et
fsetpos() sont des alternatives à
ftell() et
fseek() (avec whence à
SEEK_SET), en
définissant 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).
C89, C99.
VOIR AUSSI¶
lseek(2),
fseeko(3)
COLOPHON¶
Cette page fait partie de la publication 3.44 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et
l'équipe francophone de traduction de Debian (2006-2009).
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> ».