_tell
, _telli64
Získejte pozici ukazatele souboru.
Syntaxe
long _tell(
int handle
);
__int64 _telli64(
int handle
);
Parametry
handle
Popisovač souboru odkazující na otevřený soubor.
Vrácená hodnota
Aktuální pozice ukazatele souboru. Na zařízeních, která nemohou hledat, je vrácená hodnota nedefinovaná.
Návratová hodnota -1L označuje chybu. Pokud handle
je neplatný popisovač souboru, vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je provádění povoleno pokračovat, tyto funkce jsou nastavené errno
na EBADF
hodnotu -1L a vrátí hodnotu -1L.
Další informace o návratových kódech naleznete v tématu errno
, _doserrno
, _sys_errlist
a _sys_nerr
.
Poznámky
Funkce _tell
získá aktuální pozici ukazatele souboru (pokud existuje) přidruženého k argumentu handle
. Pozice se vyjadřuje jako počet bajtů od začátku souboru. _telli64
Pro funkci se tato hodnota vyjadřuje jako 64bitové celé číslo.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_tell , _telli64 |
<io.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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 );
}
Vstup: crt_tell.txt
Line one.
Line two.
Výstup
Current file position is: 20
Viz také
Vstupně-výstupní operace nízké úrovně
ftell
, _ftelli64
_lseek
, _lseeki64