Udostępnij za pośrednictwem


fgetpos

Pobiera strumienia pliku położenie wskaźnika.

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

Parametry

  • stream
    Strumień docelowy.

  • pos
    Wskaźnik położenia magazynu.

Wartość zwracana

W przypadku powodzenia, fgetpos zwraca wartość 0.W przypadku awarii, funkcja zwraca wartość różną od zera i ustawia errno do jednego z następujących manifest stałych (które zdefiniowano w STDIO.H): EBADF, co oznacza Podany strumień nie jest prawidłowy plik wskaźnik lub nie jest dostępny, lub EINVAL, co oznacza stream wartość lub wartość pos jest nieprawidłowy, takich jak if albo jest wskaźnik zerowy.Jeśli stream lub pos jest NULL wskaźnik, funkcja wywołuje obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.

Uwagi

fgetpos Funkcja pobiera bieżącą wartość stream argumentu wskaźnik położenia pliku i magazyny go w obiekt wskazywanej przez pos.fsetpos Funkcji później można użyć informacji przechowywanych w pos do zresetowania stream argumentu wskaźnika do jego położenia w czasie fgetpos została wywołana.pos Wartość jest przechowywana w wewnętrzny format i jest przeznaczony do używania tylko przez fgetpos i fsetpos.

Wymagania

Funkcja

Wymaganego nagłówka

fgetpos

<stdio.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}

Dane wejściowe: crt_fgetpos.txt

fgetpos gets a stream's file-position indicator.

Crt_fgetpos.txt danych wyjściowych

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

Odpowiednik w programie .NET Framework

System::IO::FileStream::Position

Zobacz też

Informacje

We/Wy strumienia

fsetpos