English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base en langage C

Contrôle de flux en langage C

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chains de caractères en langage C

Structure en langage C

Fichier en langage C

Autres C

Manuel de référence du langage C

Méthode et exemple d'utilisation de la fonction fsetpos() de la bibliothèque C

Bibliothèque standard C - <stdio.h>

Fonction de bibliothèque C int fsetpos(FILE *stream, const fpos_t *pos) Définir le flux stream La position du fichier est définie à la position donnée. Paramètres pos est la position donnée par la fonction fgetpos.

Déclaration

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

int fsetpos(FILE *stream, const fpos_t *pos)

Paramètres

  • stream -- C'est un pointeur vers un objet FILE, qui identifie le flux.
  • pos -- C'est un pointeur vers un objet fpos_t, qui contient la position précédemment obtenue par fgetpos.

Retour de la valeur

Si la fonction réussit, elle renvoie la valeur zéro, sinon elle renvoie une valeur non nulle et met à jour la variable globale errno Pour une valeur positive, cette valeur peut être interprétée par perror.

Exemple en ligne

L'exemple suivant montre l'utilisation de la fonction fsetpos().

#include <stdio.h>
int main ()
{
   FILE *fp;
   fpos_t position;
   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Hello, World!", fp);
   fsetpos(fp, &position);
   fputs("Cela couvrira le contenu précédent", fp);
   fclose(fp);
   return(0);
}

Compilons et exécutons le programme ci-dessus, cela créera un fichier file.txtSon contenu est le suivant. D'abord, nous utilisons fgetpos() La fonction pour obtenir la position initiale du fichier, puis nous écrivons dans le fichier Hello, World!Puis nous utilisons fsetpos() La fonction pour réinitialiser le pointeur d'écriture au début du fichier, et réécrire le fichier avec le contenu suivant :

Cela couvrira le contenu précédent

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>