Fonctions de la bibliothèque C -fseek()

Bibliothèque standard C - <stdio.h>

Description

Fonctions de la bibliothèque Cint fseek(FILE *stream, long int offset, int whence)Positionne le fluxstreamLa position du fichier se trouve au décalage donné.offset, le paramètre offset signifie à partir duwhence donnéLe nombre d'octets pour la recherche de position.

Déclaration

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

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

Paramètre

  • stream-- Ceci est un pointeur vers l'objet FILE qui identifie le flux.
  • offset-- Ceci est le décalage, en octets, relatif à whence.
  • whence-- C'est la position indiquant d'où le décalage est ajouté. Elle est généralement spécifiée comme l'une des constantes suivantes :
ConstantesDescription
SEEK_SETDébut du fichier
SEEK_CURLa position actuelle du pointeur de fichier.
SEEK_ENDFin du fichier

Valeur de retour

Si elle réussit, cette fonction renvoie zéro ; sinon, elle renvoie une valeur non nulle.

Exemple

L'exemple suivant illustre l'utilisation de la fonction fseek().

#include <stdio.h>

int main ()
{
   FILE *fp;

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

Compilons et exécutons le programme ci-dessus, qui créera un fichier.file.txt, son contenu est le suivant. Initialement, le programme crée le fichier et écritThis is example.com, mais ensuite nous avons réinitialisé le pointeur d'écriture à la septième position et utilisé l'instruction puts() pour réécrire le fichier, comme suit :

This is C Programming Langauge

Maintenant, utilisons le programme suivant pour afficher le contenu du fichier ci-dessus :

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

Bibliothèque standard C - <stdio.h>

autres extensions