All rights reserved.
This code is derived from software contributed to Berkeley by
Chris Torek.
%sccs.include.redist.man%
@(#)fseek.3 6.6 (Berkeley) 01/20/91
#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);
Ftell returns the current value of the offset relative to the beginning of the file associated with the named stream .
Rewind is equivalent to ``fseek(stream, 0L, SEEK_SET)'', except the error indicator for the stream is cleared as well (see clearerr (3)).
Fgetpos and fsetpos 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.
15 [EBADF] Stream is not a seekable stream.
[EINVAL] The whence argument to fseek was not SEEK_SET, SEEK_END, or SEEK_CUR.
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).