_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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der 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.
Output
Number of bytes read = 29
Siehe auch
Fehlerbehandlung
E/A auf niedriger Ebene
clearerr
feof
ferror
perror
, _wperror