FTELL(3) NEWLIB FTELL(3)NAME
4.28 `ftell', `ftello'--return position in a stream or file
SYNOPSIS
#include <stdio.h>
long ftell(FILE *FP);
off_t ftello(FILE *FP);
long _ftell_r(struct _reent *PTR, FILE *FP);
off_t _ftello_r(struct _reent *PTR, FILE *FP);
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.
The result of `ftell'/`ftello' is the current position for a file
identified by FP. If you record this result, you can later use it with
`fseek'/`fseeko' to return the file to this position. The difference
between `ftell' and `ftello' is that `ftell' returns `long' and
`ftello' returns `off_t'.
In the current implementation, `ftell'/`ftello' simply uses a char‐
acter count to represent the file position; this is the same number
that would be recorded by `fgetpos'.
RETURNS
`ftell'/`ftello' return the file position, if possible. If they cannot
do this, they return `-1L'. Failure occurs on streams that do not sup‐
port 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.
`ftello' is defined by the Single Unix specification.
No supporting OS subroutines are required.
SEE ALSOftell is part of the library. The full documentation for is maintained
as a Texinfo manual. If info and are properly installed at your site,
the command
info
will give you access to the complete manual.
NEWLIB April 2010 FTELL(3)