Udostępnij za pośrednictwem


feof

Testy na koniec pliku w strumieniu.

int feof( 
   FILE *stream 
);

Parametry

  • stream
    Wskaźnik, aby FILE struktury.

Wartość zwracana

feof Funkcja zwraca wartość różną od zera, jeśli operacja odczytu podjął próbę odczytu za końcem pliku; w przeciwnym razie zwraca 0.Jeśli wskaźnik strumienia jest NULL, funkcja wywołuje obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i feof zwraca wartość 0.

Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów błędów.

Uwagi

feof Rutynowych (implementowane jako funkcja i jak makra) określa, czy koniec stream została przekazana.Gdy koniec pliku jest przekazywana, przeczytaj operacji zwraca wskaźnik końca pliku, aż strumień jest zamknięty lub do rewind, fsetpos, fseek, lub clearerr nazywa się przed nim.

Na przykład, jeśli plik zawiera 10 bajtów i odczytać 10 bajtów z pliku feof zwróci 0, ponieważ, nawet jeśli wskaźnik pliku jest na końcu pliku, nie Próbowano odczytać poza koniec.Tylko po spróbuj odczytać bajt 11 będzie feof zwraca wartość różną od zera.

Wymagania

Funkcja

Wymaganego nagłówka

feof

<stdio.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}

Dane wejściowe: crt_feof.txt

Line one.
Line two.

Dane wyjściowe

Number of bytes read = 19

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Obsługa błędów (CRT)

We/Wy strumienia

clearerr

_eof

ferror

perror, _wperror