FTELL(3C) Standard C Library Functions FTELL(3C)

NAME


ftell, ftello - return a file offset in a stream

SYNOPSIS


#include <stdio.h>

long ftell(FILE *stream);


off_t ftello(FILE *stream);


DESCRIPTION


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.

RETURN VALUES


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.

ERRORS


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.


USAGE


The ftello() function has a transitional interface for 64-bit file
offsets. See lf64(7).

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+

SEE ALSO


lseek(2), fopen(3C), fseek(3C), open_wmemstream(3C), attributes(7),
lf64(7), standards(7)

March 25, 2020 FTELL(3C)