Sets the stream-position indicator.


int fsetpos(
   FILE *stream,
   const fpos_t *pos


Pointer to FILE structure.

Position-indicator storage.

Return Value

If successful, fsetpos returns 0. On failure, the function returns a nonzero value and sets errno to one of the following manifest constants (defined in ERRNO.H): EBADF, which means the file is not accessible or the object that stream points to is not a valid file structure; or EINVAL, which means an invalid value for stream or pos was passed. If an invalid parameter is passed in, these functions invoke the invalid parameter handler, as described in Parameter Validation.

See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.


The fsetpos function sets the file-position indicator for stream to the value of pos, which is obtained in a prior call to fgetpos against stream. The function clears the end-of-file indicator and undoes any effects of ungetc on stream. After calling fsetpos, the next operation on stream may be either input or output.

By default, this function's global state is scoped to the application. To change this, see Global state in the CRT.


Function Required header
fsetpos <stdio.h>

For additional compatibility information, see Compatibility.


See the example for fgetpos.

See also

Stream I/O