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. Autrement, le
décalage du fichier aurait été négatif.
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.65 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> ».