_tell
, _telli64
Dosya işaretçisinin konumunu alın.
Sözdizimi
long _tell(
int handle
);
__int64 _telli64(
int handle
);
Parametreler
handle
Açık dosyaya başvuran dosya tanımlayıcısı.
Dönüş değeri
Dosya işaretçisinin geçerli konumu. Arama özelliği olmayan cihazlarda dönüş değeri tanımlanmamıştır.
-1L dönüş değeri bir hatayı gösterir. Geçersiz bir dosya tanımlayıcısıysahandle
, parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler olarak EBADF
ayarlanır errno
ve -1L döndürür.
İade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Açıklamalar
İşlev, _tell
bağımsız değişkenle handle
ilişkili dosya işaretçisinin (varsa) geçerli konumunu alır. Konum, dosyanın başından itibaren bayt sayısı olarak ifade edilir. İşlev için _telli64
bu değer 64 bit tamsayı olarak ifade edilir.
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
Yordam | Gerekli başlık |
---|---|
_tell , _telli64 |
<io.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// crt_tell.c
// This program uses _tell to tell the
// file pointer position after a file read.
//
#include <io.h>
#include <stdio.h>
#include <fcntl.h>
#include <share.h>
#include <string.h>
int main( void )
{
int fh;
char buffer[500];
if ( _sopen_s( &fh, "crt_tell.txt", _O_RDONLY, _SH_DENYNO, 0) )
{
char buff[50];
_strerror_s( buff, sizeof(buff), NULL );
printf( buff );
exit( -1 );
}
if( _read( fh, buffer, 500 ) > 0 )
printf( "Current file position is: %d\n", _tell( fh ) );
_close( fh );
}
Giriş: crt_tell.txt
Line one.
Line two.
Çıktı
Current file position is: 20