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)