fseek, ftell, rewind - reposition a stream
int fseek(FILE *stream, long offset, int ptrname)
long ftell(FILE *stream)
void rewind(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.
Fseek undoes any effects of ungetc(3).
Ftell returns the current value of the offset relative to the beginning
of the file associated with the named 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 offset for fseek.
Rewind(stream) is equivalent to fseek(stream, 0L, 0).
Fseek returns -1 for improper seeks, otherwise zero.