Description
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
reference:ungetc and
ungetwc functions 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.
Since rewind does not return a value, an application wishing to detect errors should clear
errno, then call rewind , and if
errno is non-zero, assume an error has occurred.
The
fseeko function is identical to
fseek, except it takes an
off_t
argument instead of a
long
. Likewise, the
ftello function is identical to
ftell, except it returns an
off_t
.
The
fgetpos and
fsetpos functions are alternate interfaces for retrieving and setting the current position in the file, similar to
ftell and
fseek, except that the current position is stored in an opaque object of type
fpos_t pointed to by
pos
. These functions provide a portable way to seek to offsets larger than those that can be represented by a
long int. They may also store additional state information in the
fpos_t object to facilitate seeking within files containing multibyte characters with state-dependent encodings. Although
fpos_t has traditionally been an integral type, applications cannot assume that it is; in particular, they must not perform arithmetic on objects of this type.
If the stream is a wide character stream (see
fwide), the position specified by the combination of
offset
and
whence
must contain the first byte of a multibyte sequence.