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.