fgetpos
Obtém o indicador de arquivo posição de um fluxo.
int fgetpos(
FILE *stream,
fpos_t *pos
);
Parâmetros
stream
Fluxo de destino.pos
Armazenamento de Posição- medidor.
Valor de retorno
Se tiver êxito, retorna 0 de fgetpos . Em caso de falha, retorna um valor diferente de zero e define errno a uma das seguintes constantes manifestas (definidas em STDIO.H): EBADF, o que significa que o fluxo especificado não é um ponteiro de arquivo válido ou não for acessível, ou EINVAL, que significa que o valor de stream ou o valor de pos for inválido, como se o for um ponteiro nulo. Se stream ou pos é um ponteiro de NULL , a função invoca o manipulador inválido do parâmetro, conforme descrito em Validação do parâmetro.
Comentários
A função de fgetpos obtém o valor atual do indicador de arquivo posição do argumento de stream e armazenado no objeto apontado por pos. A função de fsetpos posteriormente pode usar as informações armazenadas em pos para redefinir o ponteiro de argumento de stream a sua posição em fgetpos foi chamado. O valor de pos é armazenado em um formato interno e planejado para uso apenas por fgetpos e por fsetpos.
Requisitos
Função |
Cabeçalho necessário |
---|---|
fgetpos |
<stdio.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Exemplo
// 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.
Saída crt_fgetpos.txt
after fgetpos: gets a stream
after fsetpos: gets a stream
Equivalência do .NET Framework
System::IO::FileStream::Position