fseek : fseek « stdio.h « C Tutorial





ItemValue
Header filestdio.h
Declarationint fseek(FILE *stream, long int offset, int origin);
Functionmoves the file position pointer.
Returnzero on success or nonzero on failure.


'origin' must be one of:

NameMeaning
SEEK_SETSeek from start of file
SEEK_CURSeek from current location
SEEK_ENDSeek from end of file


For a text file, origin must be SEEK_SET and offset must be a value obtained by calling ftell(), or zero. (C: The Complete Reference, Fourth Edition by Herbert Schildt McGraw-Hill/Osborne 2000 (805 pages) ISBN:0072121246)

#include <stdio.h>
  #include <stdlib.h>

  struct fullname {
    char firstName[40];
    char lastName[10];
  } info;

  int main(void){
    FILE *fp;

    if((fp=fopen("test", "rb")) == NULL) {
      printf("Cannot open file.\n");
      exit(1);
    }

    int client_num = 10;

    /* find the proper structure */
    fseek(fp, client_num*sizeof(struct fullname), SEEK_SET);

    /* read the data into memory */
    fread(&info, sizeof(struct fullname), 1, fp);

    fclose(fp);
  }










22.16.fseek
22.16.1.fseek