fgetpos
obtiene el indicador de la archivo-posición de una secuencia.
int fgetpos(
FILE *stream,
fpos_t *pos
);
Parámetros
stream
Secuencia de destino.pos
almacenamiento de Posición-indicador.
Valor devuelto
Si es correcto, fgetpos devuelve 0.En el error, devuelve un valor distinto de cero y establece errno a una de las constantes de manifiesto siguientes (definido en STDIO.H): EBADF, lo que significa que la secuencia especificada no es un puntero de archivo válido o no es accesible, o EINVAL, que significa que el valor de stream o el valor de pos es válida, por ejemplo si alguno es puntero NULL.Si stream o pos es un puntero de NULL , la función invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.
Comentarios
La función de fgetpos obtiene el valor actual del indicador de la archivo-posición de argumento de stream y lo almacena en el objeto indicada por pos.La función de fsetpos puede utilizar después la información almacenada en pos para restaurar el puntero de argumento de stream a su posición cuando fgetpos se llamó.El valor de pos se almacena en un formato interno y se ha diseñado para su uso con por fgetpos y fsetpos.
Requisitos
Función |
Encabezado necesario |
---|---|
fgetpos |
<stdio.h> |
Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.
Ejemplo
// 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 );
}
entrada: crt_fgetpos.txt
fgetpos gets a stream's file-position indicator.
salida crt_fgetpos.txt
after fgetpos: gets a stream
after fsetpos: gets a stream
Equivalente en .NET Framework
System:: IO:: secuencia de archivo:: Posición