Provided by: manpages-dev_3.54-1ubuntu1_all bug


       fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream


       #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);


       The fseek() function sets the file position indicator for the stream pointed to by stream.
       The new position, measured in bytes, is obtained by adding offset bytes  to  the  position
       specified  by  whence.  If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is
       relative to the start of  the  file,  the  current  position  indicator,  or  end-of-file,
       respectively.   A successful call to the fseek() function clears the end-of-file indicator
       for the stream and undoes any effects of the ungetc(3) function on the same stream.

       The ftell() function obtains the current value of the  file  position  indicator  for  the
       stream pointed to by stream.

       The rewind() function sets the file position indicator for the stream pointed to by stream
       to the beginning of the file.  It is equivalent to:

              (void) fseek(stream, 0L, SEEK_SET)

       except that the error indicator for the stream is also cleared (see clearerr(3)).

       The fgetpos() and fsetpos() functions are alternate interfaces equivalent to  ftell()  and
       fseek()  (with  whence set to SEEK_SET), setting and storing the current value of the file
       offset into or from the object referenced by pos.  On some  non-UNIX  systems,  an  fpos_t
       object  may  be  a  complex  object  and  these  routines  may be the only way to portably
       reposition a text stream.


       The rewind() function returns no value.  Upon successful completion,  fgetpos(),  fseek(),
       fsetpos() return 0, and ftell() returns the current offset.  Otherwise, -1 is returned and
       errno is set to indicate the error.


       EBADF  The stream specified is not a seekable stream.

       EINVAL The whence argument to fseek() was not SEEK_SET, SEEK_END, or SEEK_CUR.

       The functions fgetpos(), fseek(), fsetpos(), and ftell() may also fail and set  errno  for
       any of the errors specified for the routines fflush(3), fstat(2), lseek(2), and malloc(3).


       C89, C99.


       lseek(2), fseeko(3)


       This  page  is  part of release 3.54 of the Linux man-pages project.  A description of the
       project,    and    information    about    reporting    bugs,    can    be    found     at