_tell
, _telli64
Obtiennent la position du pointeur de fichier.
Syntaxe
long _tell(
int handle
);
__int64 _telli64(
int handle
);
Paramètres
handle
Descripteur de fichier faisant référence au fichier ouvert.
Valeur retournée
Position actuelle du pointeur de fichier. Sur les appareils incapables de rechercher, la valeur de retour n’est pas définie.
Une valeur de retour de -1L indique une erreur. S’il handle
s’agit d’un descripteur de fichier non valide, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, ces fonctions affectent à errno
la valeur EBADF
et retournent -1L.
Pour plus d’informations sur les codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
Notes
La fonction _tell
obtient la position actuelle du pointeur de fichier (le cas échéant) associé à l’argument handle
. La position est exprimée en nombre d’octets à partir du début du fichier. Pour la fonction _telli64
, cette valeur est exprimée sous forme d’entier 64 bits.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
_tell , _telli64 |
<io.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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 );
}
Entrée : crt_tell.txt
Line one.
Line two.
Sortie
Current file position is: 20