.TH FSEEK 3S .UC .SH NAME fseek, ftell, rewind \- reposition a stream .SH SYNOPSIS .B #include .br .B #include .br .B #include .sp .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 FSEEK_ABSOLUTE, FSEEK_RELATIVE, or FSEEK_EOF. .PP .I Fseek undoes any effects of .IR ungetc (3S). .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, FSEEK_ABSOLUTE)." .SH "SEE ALSO" lseek(2), fopen(3S) .SH DIAGNOSTICS .I Fseek returns \-1 for improper seeks.