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