Funzione libreria C - fseek ()

Descrizione

La funzione di libreria C. int fseek(FILE *stream, long int offset, int whence) imposta la posizione del file del file stream al dato offset.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione fseek ().

int fseek(FILE *stream, long int offset, int whence)

Parametri

  • stream - Questo è il puntatore a un oggetto FILE che identifica il flusso.

  • offset - Questo è il numero di byte da cui eseguire l'offset.

  • whence- Questa è la posizione da cui viene aggiunto l'offset. È specificato da una delle seguenti costanti:

Sr.No. Costante e descrizione
1

SEEK_SET

Inizio del file

2

SEEK_CUR

Posizione corrente del puntatore del file

3

SEEK_END

Fine del file

Valore di ritorno

Questa funzione restituisce zero in caso di successo, oppure restituisce un valore diverso da zero.

Esempio

L'esempio seguente mostra l'utilizzo della funzione fseek ().

#include <stdio.h>

int main () {
   FILE *fp;

   fp = fopen("file.txt","w+");
   fputs("This is tutorialspoint.com", fp);
  
   fseek( fp, 7, SEEK_SET );
   fputs(" C Programming Language", fp);
   fclose(fp);
   
   return(0);
}

Compiliamo ed eseguiamo il programma sopra che creerà un file file.txtcon il seguente contenuto. Inizialmente il programma crea il file e scrive Questo è tutorialspoint.com ma in seguito abbiamo ripristinato il puntatore di scrittura alla settima posizione dall'inizio e abbiamo usato l'istruzione put () che sovrascrive il file con il seguente contenuto:

This is C Programming Language

Vediamo ora il contenuto del file sopra utilizzando il seguente programma:

#include <stdio.h>

int main () {
   FILE *fp;
   int c;

   fp = fopen("file.txt","r");
   while(1) {
      c = fgetc(fp);
      if( feof(fp) ) {
         break;
      }
      printf("%c", c); 
   }
   fclose(fp);
   return(0);
}

Compiliamo ed eseguiamo il programma sopra per produrre il seguente risultato:

This is C Programming Language