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.
crt_fgetpos.txt de sortie
after fgetpos: gets a stream
after fsetpos: gets a stream
Équivalent .NET Framework
System : : E/S : : FileStream : : position