Next: , Previous: , Up: Stdio   [Contents][Index]


4.28 fsetpos—restore position of a stream or file

Synopsis

#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.