Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fseek(3s) — AIX PS/2 1.2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fopen, freopen, fdopen

lseek

stdio



FSEEK(3s,L)                 AIX Technical Reference                 FSEEK(3s,L)



-------------------------------------------------------------------------------
fseek, rewind, ftell



PURPOSE

Repositions the file pointer of a stream.

LIBRARY

Standard I/O Library (libc.a)

SYNTAX

#include <stdio.h>



                int fseek (stream, offset, wvoiderewind (stream)
                FILE *stream;               FILE *stream;
                long offset;
                int whence;                 long ftell (stream)
                                            FILE *stream;



DESCRIPTION

The fseek subroutine sets the position of the next input or output operation on
the I/O stream specified by the stream parameter.  The position of the next
operation is determined by the offset parameter, which can be either positive
or negative.

The fseek subroutine sets the file pointer associated with the specified stream
as follows:

  o If the whence parameter is 0, the pointer is set to the value of the offset
    parameter.

  o If the whence parameter is 1, the pointer is set to its current location
    plus the value of the offset parameter.

  o If the whence parameter is 2, the pointer is set to the size of the file
    plus the value of the offset parameter.

The fseek subroutine fails if attempted on a file that has not been opened
using fopen.  In particular, fseek cannot be used on a terminal, or on a file
opened with popen.

Upon successful completion, fseek returns a value of 0.  If fseek fails, a
nonzero value is returned.



Processed November 7, 1990        FSEEK(3s,L)                                 1





FSEEK(3s,L)                 AIX Technical Reference                 FSEEK(3s,L)




The rewind subroutine is equivalent to fseek (stream, (long) 0, 0), except that
it does not return a value.

The fseek and rewind subroutines undo any effects of the ungetc subroutine.

After an fseek or a rewind, the next operation on a file opened for update can
be either input or output.

The ftell subroutine returns the offset of the current byte relative to the
beginning of the file associated with the named stream.

ERROR CONDITIONS

The fseek subroutine fails if the following is true:

EINVAL    The resulting file-position indicator is set to a negative value.

The fseek and ftell subroutines fail if the following are true:

EBADF     The stream had data to be flushed but the underlying file is not open
          for writing.

EFBIG     An attempt was made to write a file that exceeds the process's file
          size limit or the maximum file size.

EINVAL    The whence argument is invalid.

ENOSPC    There was no free space remaining on the device containing the file.

ESPIPE    The file descriptor underlying stream is associated with a pipe or
          FIFO.

EAGAIN    The O_NONBLOCK flag is set for the file descriptor and the process
          would be delayed in the write operation.

EINTR     The write operation was terminated due to the receipt of a signal and
          no data was transferred.

EIO       An I/O error occurred.

EPIPE     An attempt was made to write to a pipe or FIFO that is not open for
          reading by any process.  A SIGPIPE signal will also be sent to the
          process.

RELATED INFORMATION

In this book:  "fopen, freopen, fdopen," "lseek," and "stdio."







Processed November 7, 1990        FSEEK(3s,L)                                 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026