Sdílet prostřednictvím


feof

Testy pro konce souboru na datový proud.

int feof( 
   FILE *stream 
);

Parametry

  • stream
    Ukazatel na FILE struktury.

Vrácená hodnota

feof Funkce vrátí nenulovou hodnotu, pokud operace čtení se pokusil o čtení za koncem souboru. v opačném případě vrátí 0.Pokud je ukazatel proud NULL, funkce vyvolá obsluhu neplatný parametr popsaným v Ověření parametrů.Pokud je povoleno spuštění pokračovat, errno je nastavena na EINVAL a feof vrátí hodnotu 0.

Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných kódů chyb.

Poznámky

feof Rutina (implementováno jako funkce i makro) určuje, zda na konci stream byl předán.Pokud je předán konec souboru, číst, operace vracejí indikátorem konce souboru, dokud nezavřete proudu nebo dokud rewind, fsetpos, fseek, nebo clearerr se nazývá proti němu.

Pokud soubor obsahuje 10 bajtů a číst 10 bajtů ze souboru, například feof vrátí 0, protože přestože ukazatel souboru na konec souboru, nikoli pokusů o čtení za koncem.Pouze po pokusu o čtení bude jedenáctý bajt feof vrátí nenulovou hodnotu.

Požadavky

Function

Požadované záhlaví

feof

<stdio.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

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

Vstup: crt_feof.txt

Line one.
Line two.

xssktc6e.collapse_all(cs-cz,VS.110).gifVýsledek

Number of bytes read = 19

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Chyba při zpracování (CRT)

Proud I/O

clearerr

_eof

ferror

perror _wperror