fgetpos64
—record position in a large stream or file ¶Synopsis
#include <stdio.h> int fgetpos64(FILE *fp, _fpos64_t *pos); int _fgetpos64_r(struct _reent *ptr, FILE *fp, _fpos64_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 fgetpos64
to report on the current position for a file
identified by fp that was opened by fopen64
; fgetpos
will write
a value representing that position at *pos
. Later, you can
use this value with fsetpos64
to return the file to this
position.
In the current implementation, fgetpos64
simply uses a character
count to represent the file position; this is the same number that
would be returned by ftello64
.
Returns
fgetpos64
returns 0
when successful. If fgetpos64
fails, the
result is 1
. Failure occurs on streams that do not support
positioning or streams not opened via fopen64
; the global errno
indicates these conditions with the value ESPIPE
.
Portability
fgetpos64
is a glibc extension.
No supporting OS subroutines are required.