Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fseek(3S) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

lseek(2)

write(2)

fopen(3S)

popen(3S)

stdio(3S)

ungetc(3S)

fseek(3S)



fseek(3S)              UNIX System V(C Development Set)               fseek(3S)


NAME
      fseek, rewind, ftell - reposition a file pointer in a stream

SYNOPSIS
      #include <stdio.h>

      int fseek (FILE *stream, long offset, int ptrname);

      void rewind (FILE *stream);

      long ftell (FILE *stream);

DESCRIPTION
      fseek sets the position of the next input or output operation on the
      stream [see intro(3)].  The new position is at the signed distance offset
      bytes from the beginning, from the current position, or from the end of
      the file, according to a ptrname value of SEEKSET, SEEKCUR, or SEEKEND
      (defined in stdio.h) as follows:

      SEEKSET    set position equal to offset bytes.

      SEEKCUR    set position to current location plus offset.

      SEEKEND    set position to EOF plus offset.

      fseek allows the file position indicator to be set beyond the end of the
      existing data in the file.  If data is later written at this point,
      subsequent reads of data in the gap will return zero until data is
      actually written into the gap.  fseek, by itself, does not extend the
      size of the file.

      rewind (stream) is equivalent to:

            (void) fseek (stream, 0L, SEEKSET);

      except that rewind also clears the error indicator on stream.

      fseek and rewind clear the EOF indicator and undo any effects of ungetc
      on stream.  After fseek or rewind, the next operation on a file opened
      for update may be either input or output.

      If stream is writable and buffered data has not been written to the
      underlying file, fseek and rewind cause the unwritten data to be written
      to the file.

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

SEE ALSO
      lseek(2), write(2), fopen(3S), popen(3S), stdio(3S), ungetc(3S).




10/89                                                                    Page 1







fseek(3S)              UNIX System V(C Development Set)               fseek(3S)


DIAGNOSTICS
      fseek returns -1 for improper seeks, otherwise zero.  An improper seek
      can be, for example, an fseek done on a file that has not been opened via
      fopen; in particular, fseek may not be used on a terminal or on a file
      opened via popen.  After a stream is closed, no further operations are
      defined on that stream.

NOTES
      Although on the UNIX system an offset returned by ftell is measured in
      bytes, and it is permissible to seek to positions relative to that
      offset, portability to non-UNIX systems requires that an offset be used
      by fseek directly.  Arithmetic may not meaningfully be performed on such
      an offset, which is not necessarily measured in bytes.









































Page 2                                                                    10/89





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