Fonction de bibliothèque C - fseek ()

La description

La fonction de bibliothèque C int fseek(FILE *stream, long int offset, int whence) définit la position du fichier du stream au donné offset.

Déclaration

Voici la déclaration de la fonction fseek ().

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

Paramètres

  • stream - Il s'agit du pointeur vers un objet FILE qui identifie le flux.

  • offset - C'est le nombre d'octets à décaler d'où.

  • whence- Il s'agit de la position à partir de laquelle le décalage est ajouté. Il est spécifié par l'une des constantes suivantes -

N ° Sr. Constante et description
1

SEEK_SET

Début de dossier

2

SEEK_CUR

Position actuelle du pointeur de fichier

3

SEEK_END

Fin de fichier

Valeur de retour

Cette fonction renvoie zéro en cas de succès, ou bien elle renvoie une valeur non nulle.

Exemple

L'exemple suivant montre l'utilisation de la fonction 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);
}

Laissez-nous compiler et exécuter le programme ci-dessus qui créera un fichier file.txtavec le contenu suivant. Initialement, le programme crée le fichier et écrit Ceci est tutorialspoint.com mais plus tard, nous avons réinitialisé le pointeur d'écriture à la 7ème position depuis le début et utilisé l'instruction put () qui écrase le fichier avec le contenu suivant -

This is C Programming Language

Voyons maintenant le contenu du fichier ci-dessus en utilisant le programme suivant -

#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);
}

Compilons et exécutons le programme ci-dessus pour produire le résultat suivant -

This is C Programming Language