Share via


_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