ftell, ftello - return a file offset in a stream
#include <stdio.h>
long ftell(FILE *stream);
off_t ftello(FILE *stream);
The ftell() function obtains the current value of the file-position
indicator for the stream pointed to by stream. The ftello()
function is identical to ftell() except for the return type.
Normally the value returned is measured in bytes. However, when
stream has been created with open_wmemstream(3C) then the
offset of the stream is measured in wide characters. This behavior is
consistent with how fseek(3C) and fseeko(3C) treat the offset
into the stream.
Upon successful completion, the ftell() and ftello() functions
return the current value of the file-position indicator for the stream
measured in bytes from the beginning of the file, or wide characters for
streams created by open_wmemstream(3C). Otherwise, they return
−1 and sets errno to indicate the error.
The ftell() and ftello() functions will fail if:
EBADF
The file descriptor underlying stream is not an
open file descriptor.
ESPIPE
The file descriptor underlying stream is
associated with a pipe, a FIFO, or a socket.
The ftell() function will fail if:
EOVERFLOW
The current file offset cannot be represented correctly
in an object of type long.
The ftello() function will fail if:
EOVERFLOW
The current file offset cannot be represented correctly
in an object of type off_t.
The ftello() function has a transitional interface for 64-bit file
offsets. See lf64(7).
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
Interface Stability |
Standard |
MT-Level |
MT-Safe |