ftell
---return position in a stream or file#include <stdio.h> long ftell(FILE *fp);Description
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.
The result of ftell
is the current position for a file
identified by fp. If you record this result, you can later
use it with fseek
to return the file to this
position.
In the current implementation, ftell
simply uses a character
count to represent the file position; this is the same number that
would be recorded by fgetpos
.
Returns
ftell
returns the file position, if possible. If it cannot do
this, it returns -1L
. Failure occurs on streams that do not support
positioning; the global errno
indicates this condition with the
value ESPIPE
.
Portability
ftell
is required by the ANSI C standard, but the meaning of its
result (when successful) is not specified beyond requiring that it be
acceptable as an argument to fseek
. In particular, other
conforming C implementations may return a different result from
ftell
than what fgetpos
records.
No supporting OS subroutines are required.