_eof
Testy pro konec souboru (EOF).
Syntaxe
int _eof(
int fd
);
Parametry
fd
Popisovač souboru odkazující na otevřený soubor.
Vrácená hodnota
_eof
vrátí hodnotu 1, pokud je aktuální pozice na konci souboru, nebo 0, pokud není. Návratová hodnota -1 označuje chybu; v tomto případě je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, errno
je nastavena na EBADF
, což označuje neplatný popisovač souboru.
Poznámky
Funkce _eof
určuje, zda byl dosažen konec souboru přidruženého fd
k němu.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Požadovaný hlavičkový soubor | Volitelné záhlaví |
---|---|---|
_eof |
<io.h> | <errno.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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 );
}
Vstup: crt_eof.txt
This file contains some text.
Výstup
Number of bytes read = 29
Viz také
Zpracování chyb
Vstupně-výstupní operace nízké úrovně
clearerr
feof
ferror
perror
, _wperror