Freigeben über


feof

Tests für Dateiende in einem Stream.

int feof( 
   FILE *stream 
);

Parameter

  • stream
    Zeiger auf FILE Struktur.

Rückgabewert

Die feof-Funktion gibt einen Wert ungleich 0 (null) zurück, wenn ein Lesevorgang versucht hat, sich hinter dem Ende der Datei zu lesen. Sie gibt andernfalls 0 zurück.Wenn der Stream-Zeiger NULList, ruft die Funktion den ungültigen Parameter für ein, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt und feof gibt 0 zurück.

Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr Weitere Informationen über diese und andere Fehlercodes.

Hinweise

Die feof Routine (implementiert und als Funktion als Makro) bestimmt, ob das Ende von stream übergeben wurde.Wenn das Dateiende übergeben wird, geben Lesevorgänge einen Dateiende-Indikator zurück, wenn der Stream geschlossen ist oder bis rewind, fsetpos, fseekoder clearerr für sie aufgerufen wird.

Wenn z. B. eine Datei 10 Bytes enthält und Sie 10 Bytes aus der Datei lesen, gibt 0 zurück, da feof , obwohl der Dateizeiger am Ende der Datei befindet, nicht versucht haben, hinter dem Ende hinaus zu lesen.Nach der ersten Versuch zu lesen, wird ein 11 Byte feof Rückgabe einen Wert ungleich 0 (null).

Anforderungen

Funktion

Erforderlicher Header

feof

<stdio.h>

Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.

Beispiel

// crt_feof.c
// This program uses feof to indicate when
// it reaches the end of the file CRT_FEOF.TXT. It also
// checks for errors with ferror.
//

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   int  count, total = 0;
   char buffer[100];
   FILE *stream;

   fopen_s( &stream, "crt_feof.txt", "r" );
   if( stream == NULL )
      exit( 1 );

   // Cycle until end of file reached:
   while( !feof( stream ) )
   {
      // Attempt to read in 100 bytes:
      count = fread( buffer, sizeof( char ), 100, stream );
      if( ferror( stream ) )      {
         perror( "Read error" );
         break;
      }

      // Total up actual bytes read
      total += count;
   }
   printf( "Number of bytes read = %d\n", total );
   fclose( stream );
}

Eingabe: crt_feof.txt

Line one.
Line two.

xssktc6e.collapse_all(de-de,VS.110).gifOutput

Number of bytes read = 19

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Fehlerbehandlung (CRT)

Stream E/A

clearerr

_eof

ferror

perror, _wperror