C Language and Libraries Help (clang.hlp) (Table of Contents; Topic list)
fseek
 Summary Example                         Up Contents Index Back
─────Run-Time Library───────────────────────────────────────────────────────
 
     The fseek function moves the file pointer (if any) associated with
     <stream> to a new location that is <offset> bytes from <origin>.
     The next operation on the stream takes place at the new location.
     On a stream open for update, the next operation can be either a
     read or a write.
 
     The argument <origin> must be one of the following constants
     (defined in STDIO.H):
 
     SEEK_CUR     SEEK_END     SEEK_SET
 
     The fseek function can be used to reposition the pointer anywhere
     in a file. The pointer can also be positioned beyond the end of
     the file. An attempt to position the pointer before the beginning
     of the file causes an error only if you explicitly link to
     LSEEKCHK.OBJ.
 
     The fseek function clears the end-of-file indicator and negates
     the effect of any prior ungetc calls against <stream>.
 
     When a file is opened for appending data, the current file
     position is determined by the last I/O operation, not by where the
     next write would occur. If no I/O operation has yet occurred on a
     file opened for appending, the file position is the start of the
     file.
 
     For streams opened in text mode, fseek has limited use because
     carriage-return─linefeed translations can cause fseek to produce
     unexpected results. The only fseek operations guaranteed to work
     on streams opened in text mode are:
 
        ■ Seeking with an offset of 0 relative to any of the <origin>
          values
 
        ■ Seeking from the beginning of the file with an offset value
          returned from a call to ftell
 
     Return Value
 
     If successful, fseek returns 0. Otherwise, it returns a nonzero
     value. On devices incapable of seeking, the return value is
     undefined.
                                    -♦-