Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir akışın dosya konumu göstergesini alır.
Sözdizimi
int fgetpos(
FILE *stream,
fpos_t *pos
);
Parametreler
stream
Hedef akış.
pos
Konum göstergesi depolama.
Dönüş değeri
Başarılı olursa, fgetpos 0 döndürür. Hata durumunda sıfır olmayan bir değer döndürür ve aşağıdaki bildirim sabitlerinden birine (STDIO'da tanımlanır) ayarlarerrno. H): EBADF, belirtilen akışın geçerli bir dosya işaretçisi olmadığı veya erişilebilir olmadığı anlamına gelir ya da EINVALdeğeri veya değeri pos geçersiz (null işaretçi gibi) anlamına gelirstream. veya pos bir işaretçiysestream, işlev Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre NULL işleyicisini çağırır.
Açıklamalar
İşlev, fgetpos bağımsız değişkenin dosya konumu göstergesinin stream geçerli değerini alır ve tarafından posişaret edilen nesnede depolar. İşlev fsetpos daha sonra bağımsız değişkenin stream işaretçisini çağrıldığı sırada fgetpos konumuna sıfırlamak için içinde pos depolanan bilgileri kullanabilir. pos Değer iç biçimde depolanır ve yalnızca ve fsetpostarafından fgetpos kullanılmak üzere tasarlanmıştır.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
| İşlev | Gerekli başlık |
|---|---|
fgetpos |
<stdio.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// 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 );
}
Giriş: crt_fgetpos.txt
fgetpos gets a stream's file-position indicator.
Çıkış crt_fgetpos.txt
after fgetpos: gets a stream
after fsetpos: gets a stream