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