Udostępnij za pośrednictwem


_tell, _telli64

Pobierz położenie wskaźnika pliku.

Składnia

long _tell(
   int handle
);
__int64 _telli64(
   int handle
);

Parametry

handle
Deskryptor plików odwołujący się do otwartego pliku.

Wartość zwracana

Bieżąca pozycja wskaźnika pliku. Na urządzeniach, których nie można szukać, wartość zwracana jest niezdefiniowana.

Zwracana wartość -1L wskazuje błąd. Jeśli handle jest nieprawidłowym deskryptorem pliku, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, te funkcje są ustawione errno na EBADF i zwracają -1L.

Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Uwagi

Funkcja _tell pobiera bieżącą pozycję wskaźnika pliku (jeśli istnieje) skojarzonego z argumentem handle . Pozycja jest wyrażona jako liczba bajtów od początku pliku. _telli64 Dla funkcji ta wartość jest wyrażona jako 64-bitowa liczba całkowita.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek
_tell, _telli64 <io.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// 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 );
}

Dane wejściowe: crt_tell.txt

Line one.
Line two.

Wynik

Current file position is: 20

Zobacz też

We/Wy niskiego poziomu
ftell, _ftelli64
_lseek, _lseeki64