Partager via


_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_doserrnoet _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

Voir aussi

E/S de bas niveau
ftell, _ftelli64
_lseek, _lseeki64