Sdílet prostřednictvím


_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_errlista _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