Partager via


fgetpos

Obtient l'indicateur de position d'un flux de données.

int fgetpos( 
   FILE *stream,
   fpos_t *pos 
);

Paramètres

  • stream
    flux de données cible.

  • pos
    stockage de Position-indicateur.

Valeur de retour

En cas de réussite, retourne 0 d' fgetpos .En cas de échec, elle retourne une valeur différente de zéro et définit errno à l'une des constantes manifestes suivantes (définies dans STDIO.H) : EBADF, ce qui signifie que le flux de données spécifié n'est pas un pointeur de fichier non valide ou n'est pas accessible, ou EINVAL, qui signifie que la valeur d' stream ou la valeur d' pos est valide, si l'un ou l'autre est un pointeur null.si stream ou pos est un pointeur d' NULL , la fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.

Notes

La fonction d' fgetpos obtient la valeur actuelle de l'indicateur de position de fichier de l'argument d' stream et l'enregistre dans l'objet sur lequel pointe pos.La fonction d' fsetpos peut ensuite utiliser les informations stockées dans pos pour réinitialiser le pointeur de l'argument d' stream à sa position lorsqu' fgetpos a été appelé.La valeur d' pos sont stockées dans un format interne et doit être utilisée uniquement par fgetpos et fsetpos.

Configuration requise

Fonction

en-tête requis

fgetpos

<stdio.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

Exemple

// crt_fgetpos.c
// This program uses fgetpos and fsetpos to
// return to a location in a file.

#include <stdio.h>

int main( void )
{
   FILE   *stream;
   fpos_t pos;
   char   buffer[20];

   if( fopen_s( &stream, "crt_fgetpos.txt", "rb" ) ) {
      perror( "Trouble opening file" );
      return -1;
   }

   // Read some data and then save the position. 
   fread( buffer, sizeof( char ), 8, stream );
   if( fgetpos( stream, &pos ) != 0 ) {
      perror( "fgetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fgetpos: %.13s\n", buffer );

   // Restore to old position and read data 
   if( fsetpos( stream, &pos ) != 0 ) {
      perror( "fsetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fsetpos: %.13s\n", buffer );
   fclose( stream );
}

entrée : crt_fgetpos.txt

fgetpos gets a stream's file-position indicator.

70hdhh4t.collapse_all(fr-fr,VS.110).gifcrt_fgetpos.txt de sortie

after fgetpos: gets a stream
after fsetpos: gets a stream

Équivalent .NET Framework

System : : E/S : : FileStream : : position

Voir aussi

Référence

E/S de flux

fsetpos