dwww Home | Manual pages | Find package

fseek(3)                   Library Functions Manual                   fseek(3)

NOM
       fgetpos, fseek, fsetpos, ftell, rewind - Positionner un flux

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <stdio.h>

       int fseek(FILE *stream, long offset, int whence);
       long ftell(FILE *stream);

       void rewind(FILE *stream);

       int fgetpos(FILE *restrict stream, fpos_t *restrict pos);
       int fsetpos(FILE *stream, const 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  addi-
       tionnant 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 res-
       pectivement au début du fichier, à la position actuelle, ou à la fin du
       fichier. Un appel réussi à fseek() efface l'indicateur de  fin  de  fi-
       chier  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  por-
       table.

       Si le flux fait référence à un fichier ordinaire et que l'indicateur de
       position du flux résultant dépasse la taille du fichier, les  écritures
       suivantes  étendront  le  fichier avec un trou, jusqu'à l'indicateur de
       position, avant d'envoyer une donnée. Consultez lseek(2) pour  des  dé-
       tails sur les sémantiques de recherche de fichier.

VALEUR RENVOYÉE
       La fonction rewind() ne renvoie pas de valeur. Si elles réussissent to-
       talement, 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
       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éga-
              tif.

       ESPIPE Le descripteur de fichier stream sous-jacent  n'est  pas  valide
              (par exemple, il se rapporte à un tube, une FIFO ou une socket).

       Les  fonctions fgetpos(), fseek(), fsetpos(), et ftell() peuvent égale-
       ment, en cas d'échec, définir errno sur n'importe quelle  erreur  indi-
       quée par les routines fflush(3), fstat(2), lseek(2) et malloc(3).

ATTRIBUTS
       Pour  une explication des termes utilisés dans cette section, consulter
       attributes(7).

       ┌─────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────────────────────┼──────────────────────┼─────────┤
       │fseek(), ftell(), rewind(),          │ Sécurité des threads │ MT-Safe │
       │fgetpos(), fsetpos()                 │                      │         │
       └─────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS
       POSIX.1-2001, POSIX.1-2008, C99.

VOIR AUSSI
       lseek(2), fseeko(3)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe  Gué-
       rard  <fevrier@tigreraye.org>,  Jean-Luc  Coulon (f5ibh) <jean-luc.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhan-
       trais@gmail.com>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la       GNU       General       Public        License        version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de  manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03  29 décembre 2022                       fseek(3)

Generated by dwww version 1.15 on Sat Jun 29 01:36:59 CEST 2024.