_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 EBADF
y 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