_eof
Tests de fin de fichier (EOF).
Syntaxe
int _eof(
int fd
);
Paramètres
fd
Descripteur de fichier qui fait référence au fichier ouvert.
Valeur retournée
_eof
retourne 1 si la position actuelle est à la fin du fichier, ou 0 si ce n’est pas le cas. Une valeur de retour de -1 indique une erreur ; dans ce cas, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, errno
est défini sur EBADF
, indiquant ainsi un descripteur de fichier non valide.
Notes
La fonction _eof
détermine si la fin du fichier associé à fd
a été atteinte.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Fonction | En-tête requis | En-tête facultatif |
---|---|---|
_eof |
<io.h> | <errno.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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 );
}
Entrée : crt_eof.txt
This file contains some text.
Sortie
Number of bytes read = 29
Voir aussi
Gestion des erreurs
E/S de bas niveau
clearerr
feof
ferror
perror
, _wperror