_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_errlist
e _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