Next: ftell, Previous: __fsetlocking, Up: Stdio [Contents][Index]
fsetpos
—restore position of a stream or fileSynopsis
#include <stdio.h> int fsetpos(FILE *fp, const fpos_t *pos); int _fsetpos_r(struct _reent *ptr, FILE *fp, const fpos_t *pos);
Description
Objects of type FILE
can have a “position” that records how much
of the file your program has already read. Many of the stdio
functions
depend on this position, and many change it as a side effect.
You can use fsetpos
to return the file identified by fp to a previous
position *pos
(after first recording it with fgetpos
).
See fseek
for a similar facility.
Returns
fgetpos
returns 0
when successful. If fgetpos
fails, the
result is 1
. The reason for failure is indicated in errno
:
either ESPIPE
(the stream identified by fp doesn’t support
repositioning) or EINVAL
(invalid file position).
Portability
ANSI C requires fsetpos
, but does not specify the nature of
*pos
beyond identifying it as written by fgetpos
.
Supporting OS subroutines required: close
, fstat
, isatty
,
lseek
, read
, sbrk
, write
.