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 character 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 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.
   `ftello' is defined by the Single Unix specification.
   No supporting OS subroutines are required.

SEE ALSO
ftell 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.