Fonctions de la bibliothèque C -fgetpos()

Bibliothèque standard C - <stdio.h>

Description

Fonctions de la bibliothèque Cint fgetpos(FILE *stream, fpos_t *pos)Obtient le fluxstreamla position actuelle du fichier, et l'écrit danspos。

Déclaration

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

int fgetpos(FILE *stream, fpos_t *pos)

Paramètre

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

Valeur de retour

En cas de succès, cette fonction renvoie zéro. Si une erreur se produit, une valeur non nulle est renvoyée.

Exemple

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

#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("这将覆盖之前的内容", fp);
   fclose(fp);
   
   return(0);
}

Compilons et exécutons le programme ci-dessus, qui créera un fichierfile.txt, dont le contenu est le suivant. D'abord, nous utilisonsfgetpos()La fonction obtient la position initiale du fichier, puis nous écrivons dans le fichierHello, World!, puis nous utilisonsfsetpos()La fonction est utilisée pour réinitialiser le pointeur d'écriture au début du fichier et réécrire le fichier avec le contenu suivant :

This will overwrite the previous content.

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

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
   int n = 0;

   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