Compartir a través de


_tell, _telli64

Obtiene la posición del puntero de archivo.

Sintaxis

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

Parámetros

handle
Descriptor de archivo que hace referencia a un archivo abierto.

Valor devuelto

Posición actual del puntero de archivo. En los dispositivos incapaces de efectuar búsquedas, el valor devuelto es indefinido.

Un valor devuelto de –1L indica un error. Si handle es un descriptor de archivo no válido, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones establecen errno en EBADFy devuelven -1L.

Para obtener más información sobre los códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

La función _tell obtiene la posición actual del puntero de archivo (si existe) que está asociado al argumento handle. La posición se expresa como el número de bytes desde el principio del archivo. Para la función _telli64, este valor se expresa como un entero de 64 bits.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado necesario
_tell, _telli64 <io.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

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

Entrada: crt_tell.txt

Line one.
Line two.

Output

Current file position is: 20

Consulte también

E/S de bajo nivel
ftell, _ftelli64
_lseek, _lseeki64