_tell, _telli64

Ottiene la posizione del puntatore del file.

Sintassi

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

Parametri

handle
Descrittore del file che fa riferimento a un file aperto.

Valore restituito

Posizione corrente del puntatore del file. Nei dispositivi che non supportano la ricerca, il valore restituito è indefinito.

Il valore restituito -1L indica un errore. Se handle è un descrittore di file non valido, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni impostano errno su EBADF e restituiscono -1L.

Per altre informazioni sui codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.

Osservazioni:

La funzione _tell ottiene la posizione corrente del puntatore del file (se presente) associata all'argomento handle. La posizione viene espressa come numero di byte dall'inizio del file. Per la funzione _telli64, questo valore è espresso come intero a 64 bit.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Ciclo Intestazione obbligatoria
_tell, _telli64 <io.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

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

Input: crt_tell.txt

Line one.
Line two.

Output

Current file position is: 20

Vedi anche

I/O di basso livello
ftell, _ftelli64
_lseek, _lseeki64