fseeko, ftello — seek to or report file position


#include <stdio.h>

int fseeko(FILE *stream, off_t offset, int whence);

off_t ftello(FILE *stream);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

fseeko(), ftello():

(defining the obsolete _LARGEFILE_SOURCE macro also works)


The fseeko() and ftello() functions are identical to fseek(3) and ftell(3) (see fseek(3)), respectively, except that the offset argument of fseeko() and the return value of ftello() is of type off_t instead of long.

On some architectures, both off_t and long are 32-bit types, but defining _FILE_OFFSET_BITS with the value 64 (before including any header files) will turn off_t into a 64-bit type.

Return Value

On successful completion, fseeko() returns 0, while ftello() returns the current offset. Otherwise, -1 is returned and errno is set to indicate the error.


See the ERRORS in fseek(3).


These functions are available under glibc since version 2.1.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
fseeko(), ftello() Thread safety MT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008, SUSv2.

See Also



This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

feature_test_macros(7), fseek(3), open_memstream(3).

The man page ftello(3) is an alias of fseeko(3).

2017-09-15 Linux Programmer's Manual