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.
Vý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.