_eof
Tests für das Ende der Datei (EOF).
Syntax
int _eof(
int fd
);
Parameter
fd
Dateideskriptor, der auf die geöffnete Datei verweist.
Rückgabewert
_eof
gibt 1 zurück, wenn die aktuelle Position das Ende der Datei oder 0 ist, wenn dies nicht der Fehler ist. Ein Rückgabewert von -1 gibt einen Fehler an; in diesem Fall wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, wird errno
auf EBADF
festgelegt. Dies ist ein Hinweis auf einen ungültigen Dateideskriptor.
Hinweise
Die Funktion _eof
bestimmt, ob das mit fd
verknüpfte Ende der Datei erreicht wurde.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Anforderungen
Funktion | Erforderlicher Header | Optionaler Header |
---|---|---|
_eof |
<io.h> | <errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_eof.c
// This program reads data from a file
// ten bytes at a time until the end of the
// file is reached or an error is encountered.
//
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <share.h>
int main( void )
{
int fh, count, total = 0;
char buf[10];
if( _sopen_s( &fh, "crt_eof.txt", _O_RDONLY, _SH_DENYNO, 0 ) )
{
perror( "Open failed");
exit( 1 );
}
// Cycle until end of file reached:
while( !_eof( fh ) )
{
// Attempt to read in 10 bytes:
if( (count = _read( fh, buf, 10 )) == -1 )
{
perror( "Read error" );
break;
}
// Total actual bytes read
total += count;
}
printf( "Number of bytes read = %d\n", total );
_close( fh );
}
Eingabe: crt_eof.txt
This file contains some text.
Ausgabe
Number of bytes read = 29
Siehe auch
Fehlerbehandlung
E/A auf niedriger Ebene
clearerr
feof
ferror
perror
, _wperror
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für