Aracılığıyla paylaş


ftell, _ftelli64

Dosya işaretçisi geçerli konumunu alır.

long ftell( 
   FILE *stream 
);
__int64 _ftelli64( 
   FILE *stream 
);

Parametreler

  • stream
    Hedef FILE yapısı.

Dönüş Değeri

ftellve _ftelli64 geçerli dosya konumunu döndürür.Tarafından döndürülen değeri ftell ve _ftelli64 başı return–linefeed çeviri metin modu neden olduğu fiziksel bayt uzaklığı metin modunda açılmış olan akış için yansıtmayabilir.Use ftell with fseekor_ftelli64with_fseeki64 to return to file locations correctly.Hata, ftellve_ftelli64 açıklandığı gibi geçersiz bir parametre işleyicisi çağırmak Parametre doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler –1L dönmek ve errno için errno içinde tanımlanan iki sabitlerinden biri.H.EBADF Sabiti anlamına gelir stream bağımsız değişken geçerli dosya işaretçisi değeri değil veya açık olan bir dosyaya başvurmuyor.EINVALGeçersiz bir anlamı stream bağımsız değişkenini işlevine geçirilen.Aygıtlarda (Terminaller ve yazıcılar gibi), arayan incapable veya ne zaman stream bakın değil açık bir dosyayı dönüş değeri tanımlı değil.

Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer ilgili daha fazla bilgi için kodları dönün.

Notlar

ftell Ve _ftelli64işlevleri ile ilişkili geçerli konumunu (varsa) dosya işaretçisi almak stream*.* Konumu akışın başlangıcından göreceli olarak bir uzaklık olarak ifade edilir.

Veri eklemek için bir dosya açıldığında, geçerli dosya konumu son g/Ç işlemi tarafından değil burada sonraki yazma ortaya çıkabilecek tarafından belirlenir olduğunu unutmayın.Örneğin, bir tabloya ekleme işlemi için bir dosya açılır ve son işlem bir okuma oldu, dosya konumu nerede sonraki okuma işlemi, sonraki yazma değil burada başlamalıdır başlamalıdır noktasıdır.(Eklemek için bir dosya açıldığında, dosya konumu herhangi bir yazma işleminden önce dosya sonuna taşınır.) Ekleme için açılmış bir dosyada hiçbir g/Ç işlemi henüz oluştu, dosya konumu dosya başlangıcıdır.

Metin modunda Giriş üzerinde bir dosya sonu karakteri olarak ctrl + z yorumlanır.Okuma/yazma için açılan dosyalar, fopen ve tüm ilgili yordamlar için ctrl + z dosya sonunda denetleyin ve mümkünse kaldırın.Bu birleşimi kullanılarak çünkü yapılır ftell ve fseek veya _ftelli64 ve _fseeki64, ctrl + z ile biter neden olabilecek bir dosya içinde taşımak için ftell veya _ftelli64 dosyasının sonuna hatalı davranmaya.

Bu işlev yürütülürken iş parçasıyla kilitler ve bu nedenle thread-safe.Kilitleme olmayan bir sürümü için bkz: _ftell_nolock.

Gereksinimler

İşlev

Gerekli başlık

İsteğe bağlı üstbilgileri

ftell

<stdio.h>

<errno.h>

_ftelli64

<stdio.h>

<errno.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_ftell.c
// This program opens a file named CRT_FTELL.C
// for reading and tries to read 100 characters. It
// then uses ftell to determine the position of the
// file pointer and displays this position.
 

#include <stdio.h>

FILE *stream;

int main( void )
{
   long position;
   char list[100];
   if( fopen_s( &stream, "crt_ftell.c", "rb" ) == 0 )
   {
      // Move the pointer by reading data: 
      fread( list, sizeof( char ), 100, stream );
      // Get position after read: 
      position = ftell( stream );
      printf( "Position after trying to read 100 bytes: %ld\n",
              position );
      fclose( stream );
   }
}
  

.NET Framework Eşdeğeri

System::IO::FileStream::Position

Ayrıca bkz.

Başvuru

G/ç

fopen, _wfopen

fgetpos

fseek, _fseeki64

_lseek, _lseeki64