_tell, _telli64
Rufen Sie die Position des Dateizeigers ab.
long _tell(
int handle
);
__int64 _telli64(
int handle
);
Parameter
- handle
Dateideskriptor, der geöffneten Datei verweist.
Rückgabewert
Die aktuelle Position des Dateizeigers. Auf den Geräten, die vom Suchen Unable sind, wird der Rückgabewert undefiniert.
Ein - Rückgabewert von 1L gibt einen Fehler an. Wenn handle ein ungültiger Dateideskriptor ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung zulässig ist, um fortzufahren, dieses Features legen Sie errno auf EBADF und wieder -1L.
Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.
Hinweise
Die _tell-Funktion ruft die aktuelle Position des Dateizeigers (falls vorhanden) zugeordnet mit dem Argument handle ab. Die Position ist als die Anzahl der Bytes vom Anfang der Datei angegeben. Für die Funktion _telli64 wird dieser Wert als 64-Bit-Ganzzahl ausgedrückt.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_tell, _telli64 |
<io.h> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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 );
}
Eingabe: crt_tell.txt
Line one.
Line two.
Ausgabe
Current file position is: 20