fseek()                  Reposition File Pointer to Given Location
 
 #include   <stdio.h>
 
 int        fseek(stream,offset,origin);
 FILE       *stream;                     Pointer to file structure
 long       offset                       Number of bytes from origin
 int        origin;                      Initial position
 
    fseek() moves the file pointer associated with 'stream' to a new
    position that is 'offset' bytes from the 'origin'. After an fseek(),
    the next operation can be either a read or write, depending on how
    the file was opened; the operation takes place at the new position.
    'origin' is one of the following constants (defined in <stdio.h>):
 
               SEEK_SET           Beginning of file
 
               SEEK_CUR           Current position of file pointer
 
               SEEK_END           End of file
 
    SEEK_SET, SEEK_CUR, and SEEK_END are equivalent to the values 0, 1,
    and 2, respectively.
 
    Returns:    Zero if the pointer was successfully moved, and non-zero
                if an error occurred.  The return value is undefined on
                devices incapable of seeking (terminals and printers).
 
      Notes:    fseek() can be used to reposition the pointer anywhere in
                or beyond the end of a file.  Positioning it before the
                beginning of a file causes an error.
 
                Because of the CR-LF translations performed when a file
                is opened in text mode, the only fseek() operations
                guaranteed to work on streams open in text mode are:
 
                    seeking with an offset of 0 relative to any of the
                    original values.
 
                    seeking from the beginning of a file with a offset value
                    returned from a call to ftell().
 
  -------------------------------- Example ---------------------------------
 
    The following statements move the file pointer to the end of the
    file.
 
         #include <stdio.h>
 
         FILE *stream;
         int rslt;
 
         main()
         {
             if ((stream = fopen("data.txt","r+")) != NULL) {
                  rslt = fseek(stream, 0L, SEEK_END);
             }
         }

Seealso:



This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster