fseeko - Man Page

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():

    _FILE_OFFSET_BITS == 64 || _POSIX_C_SOURCE >= 200112L


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).

fseeko(), ftello()Thread safetyMT-Safe

Conforming to

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


The declarations of these functions can also be obtained by defining the obsolete _LARGEFILE_SOURCE feature test macro.

See Also



This page is part of release 5.13 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), system_data_types(7).

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

2021-03-22 Linux Programmer's Manual