_tell
, _telli64
Aktuelle Position des Dateizeigers
Syntax
long _tell(
int handle
);
__int64 _telli64(
int handle
);
Parameter
handle
Dateideskriptoren, die auf eine geöffnete Datei verweisen.
Rückgabewert
Aktuelle Position des Dateizeigers Auf Geräten, die Suchvorgänge nicht unterstützen, ist der Rückgabewert nicht definiert.
Ein Rückgabewert von -1L gibt einen Fehler an. Wenn handle
es sich um einen ungültigen Dateideskriptor handelt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, stellen diese Funktionen errno
auf EBADF
ein und geben -1L zurück.
Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Die _tell
-Funktion ruft die aktuelle Position des Dateizeigers (sofern vorhanden) ab, der mit dem handle
-Argument verknüpft ist. Die Position wird als Anzahl von Bytes ab dem Anfang der Datei angegeben. Für die _telli64
-Funktion wird dieser Wert als 64-Bit-Ganzzahl angegeben.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_tell , _telli64 |
<io.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
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.
Output
Current file position is: 20