int
fseek(
FILE *stream
, long int offset
, int whence
)
int
fseeko(
FILE *stream
, off_t offset
, int whence
)
long
int
ftell(
FILE *stream
)
off_t
ftello(
FILE *stream
)
void
rewind(
FILE *stream
)
int
fgetpos(
FILE * restrict stream
, fpos_t * restrict pos
)
int
fsetpos(
FILE * restrict stream
, const fpos_t * restrict pos
)
)
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
fseeko()
function is identical to the
fseek(
)
function except that the
offset
argument is of type
off_t
.
The
ftell()
function
obtains the current value of the file position indicator for the
stream pointed to by
stream
.
The
ftello()
function is identical to the
ftell(
)
function except that the return value is of type
off_t
.
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)).
In this implementation, the
fgetpos()
and
fsetpos(
)
functions
are alternative interfaces equivalent to
ftell(
),
ftello(
),
fseek(
)
and
fseeko(
)
(with whence set to
SEEK_SET
),
setting and storing the current value of
the file offset into or from the object referenced by
pos
.
In others implementations, an
``fpos_t
''
object may be a complex object
and these routines may be the only way to portably reposition a text stream.
)
function
returns no value.
Upon successful completion,
fgetpos(
),
fseek(
),
fsetpos(
)
return 0,
and
ftell(
)
returns the current offset.
Otherwise,
fseek(
)
and
ftell(
)
return -1 and
the others
return a nonzero value and the global variable
errno
is set to indicate the error.
EBADF
]
stream
specified
is not a seekable stream.
EINVAL
]
whence
argument to
fseek(
)
was not
SEEK_SET
,
SEEK_END
,
or
SEEK_CUR
.
The function
fgetpos(),
fseek(
),
fseeko(
),
fsetpos(
),
ftell(
),
ftello(
),
and
rewind(
)
may also fail and set
errno
for any of the errors specified for the routines
fflush(3),
fstat(2),
lseek(2),
and
malloc(3).
),
fsetpos(
),
fseek(
),
ftell(
),
and
rewind(
)
functions
conform to
ANSI X3.159-1989 (``ANSI C89'') .
The
fseeko(
)
and
ftello(
)
functions conform to
X/Open System Interfaces and Headers Issue 5 (``XSH5'') .
)
and
fsetpos(
)
functions don't store/set shift states of the stream in this implementation.