V7/usr/man/man3/fseek.3s
.TH FSEEK 3S
.SH NAME
fseek, ftell, rewind \- reposition a stream
.SH SYNOPSIS
.B #include <stdio.h>
.PP
.B fseek(stream, offset, ptrname)
.br
.SM
.B FILE
.B *stream;
.br
.B long offset;
.PP
.B long ftell(stream)
.br
.SM
.B FILE
.B *stream;
.PP
.B rewind(stream)
.SH DESCRIPTION
.I Fseek
sets the position of the next input or output
operation on the
.IR stream .
The new position is at the signed distance
.I offset
bytes
from the beginning, the current position, or the end of the file,
according as
.I ptrname
has the value 0, 1, or 2.
.PP
.I Fseek
undoes any effects of
.IR ungetc (3).
.PP
.I Ftell
returns the current value of the offset relative to the beginning
of the file associated with the named
.IR stream .
It is measured in bytes on UNIX;
on some other systems it is a magic cookie,
and the only foolproof way to obtain an
.I offset
for
.IR fseek .
.PP
.I Rewind(stream)
is equivalent to
.I "fseek(stream, 0L, 0)."
.SH "SEE ALSO"
lseek(2),
fopen(3)
.SH DIAGNOSTICS
.I Fseek
returns \-1 for improper seeks.