Copyright Digital Equipment Corp. All rights reserved.

Description

   The fseek function can position a fixed-length record-access
   file with no carriage control or a stream-access file on any
   byte offset, but can position all other files only on record
   boundaries.

   The available Standard I/O functions position a variable-length
   or VFC record file at its first byte, at the end-of-file, or on
   a record boundary. Therefore, the arguments given to fseek must
   specify any of the following:

   o  The beginning or end of the file

   o  A 0 offset from the current position (an arbitrary record
      boundary)

   o  The position returned by a previous, valid ftell call

   See the fgetpos and fsetpos functions for a portable way to seek
   to arbitrary locations with these types of record files.

                                CAUTION

      If, while accessing a stream file, you seek beyond the
      end-of-file and then write to the file, the fseek function
      creates a hole by filling the skipped bytes with zeros.

      In general, for record files, fseek should only be directed
      to an absolute position that was returned by a previous
      valid call to ftell, or to the beginning or end of a file.
      If a call to fseek does not satisfy these conditions, the
      results are unpredictable.

   See also open, creat, dup, dup2, and lseek.