_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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour