Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Apropos / Subsearch:
optional field

FSEEK(3S)                                                            FSEEK(3S)

       fseek, ftell, rewind - reposition a stream

       #include <&lt;stdio.h>&gt;

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

       long ftell(stream)
       FILE *stream;

       FILE *stream;

       fseek()  sets the position of the next input or output operation on the
       stream.  The new position is at the signed distance offset  bytes  from
       the  beginning, the current position, or the end of the file, according
       as ptrname has the value 0, 1, or 2.

       rewind(stream) is equivalent to fseek(stream, 0L, 0),  except  that  no
       value is returned.

       fseek() and rewind() undo any effects of ungetc(3S).

       After  fseek()  or  rewind(),  the  next operation on a file opened for
       update may be either input or output.

       ftell() returns the offset of the current byte relative to  the  begin-
       ning of the file associated with the named stream.

       lseek(2V), fopen(3V), popen(3S), ungetc(3S)

       fseek()  returns  -1  for  improper seeks, otherwise zero.  An improper
       seek can be, for example, an fseek() done on a file associated  with  a
       non-seekable  device,  such  as a tty or a pipe; in particular, fseek()
       may not be used on a terminal, or on a file opened using popen(3S).

       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 a (non-UNIX) system 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.

                                6 October 1987                       FSEEK(3S)