fseek(3) Library Functions Manual fseek(3) NOM fgetpos, fseek, fsetpos, ftell, rewind - Positionner un flux BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include 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() definit l'indicateur de position du flux pointe par stream. La nouvelle position, mesuree en octets, est obtenue en additionnant offset octets au point de depart indique par whence. Si whence vaut SEEK_SET, SEEK_CUR ou SEEK_END, le point de depart correspond respectivement au debut du fichier, a la position actuelle, ou a la fin du fichier. Un appel reussi a fseek() efface l'indicateur de fin de fichier du flux, et annule les effets de toute fonction ungetc(3) sur le meme flux. La fonction ftell() obtient la valeur de l'indicateur de position du flux pointe par stream. La fonction rewind() place l'indicateur de position du flux pointe par stream au debut du fichier. C'est l'equivalent de : (void) fseek(stream, 0L, SEEK_SET) sauf que l'indicateur d'erreur du flux est egalement efface (consultez clearerr(3)). Les fonctions fgetpos() et fsetpos() sont des alternatives a ftell() et fseek() (avec whence a SEEK_SET), en definissant et en memorisant la valeur de l'indicateur de position du fichier dans ou depuis l'objet reference par pos. Sur certains systemes non UNIX, l'objet fpos_t peut etre un objet complexe, et ces routines peuvent etre les seules methodes possibles pour repositionner un flux de texte de maniere portable. Si le flux fait reference a un fichier ordinaire et que l'indicateur de position du flux resultant depasse la taille du fichier, les ecritures suivantes etendront le fichier avec un trou, jusqu'a l'indicateur de position, avant d'envoyer une donnee. Consultez lseek(2) pour des details sur les semantiques de recherche de fichier. VALEUR RENVOYEE La fonction rewind() ne renvoie pas de valeur. Si elles reussissent 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 EINVAL L'argument whence de fseek() n'etait ni SEEK_SET, ni SEEK_END, ni SEEK_CUR. Autrement, le decalage du fichier aurait ete negatif. ESPIPE Le descripteur de fichier stream sous-jacent n'est pas valide (par exemple, il se rapporte a un tube, une FIFO ou un socket). Les fonctions fgetpos(), fseek(), fsetpos(), et ftell() peuvent egalement, en cas d'echec, definir errno sur n'importe quelle erreur indiquee par les routines fflush(3), fstat(2), lseek(2) et malloc(3). ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |fseek(), ftell(), rewind(), | Securite des threads | MT-Safe | |fgetpos(), fsetpos() | | | +---------------------------------+--------------------------+---------+ STANDARDS C11, POSIX.1-2008. HISTORIQUE POSIX.1-2001, C89. VOIR AUSSI lseek(2), fseeko(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Frederic Hantrais et Jean- Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 fseek(3)