fgetpos

Obtém o indicador de posição do arquivo de um fluxo.

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

Parâmetros

  • stream
    Fluxo de destino.

  • pos
    Armazenamento de indicador de posição.

Valor de retorno

Se for bem-sucedido, fgetpos retorna 0.Em caso de falha, ele retorna um valor diferente de zero e define errno para um dos seguintes manifesto constantes (definidas em STDIO.H): EBADF, que significa que o fluxo especificado não é um ponteiro de arquivo válido ou não está acessível, ou EINVAL, que significa que o stream valor ou o valor de pos é inválido, como, por exemplo, se for um ponteiro nulo.Se stream ou pos é um NULL ponteiro, a função chama o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro.

Comentários

O fgetpos função obtém o valor atual da stream indicador de posição do arquivo do argumento e o armazena-lo no objeto apontado por pos.O fsetpos função posteriormente pode usar as informações armazenadas em pos para redefinir o stream ponteiro do argumento à sua posição no momento fgetpos foi chamado.O pos valor é armazenado em um formato interno e é destinado ao uso somente pelos fgetpos e fsetpos.

Requisitos

Função

Cabeçalho necessário

fgetpos

<stdio.h>

Para obter 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.

70hdhh4t.collapse_all(pt-br,VS.110).gifSaída crt_fgetpos.txt

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

Equivalência do .NET Framework

System::IO::FileStream::position

Consulte também

Referência

Fluxo de i/O

fsetpos