feof
Teste la fin de fichier sur un flux de données.
int feof(
FILE *stream
);
Paramètres
- stream
Pointeur vers la structure FILE.
Valeur de retour
La fonction d'feof retourne une valeur différente de zéro si une opération de lecture a tenté de lire après la fin de fichier ; la valeur 0 dans le cas contraire. Si le pointeur de flux est un pointeur null, la fonction appelle le gestionnaire de paramètres invalides comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, la fonction définit errno avec la valeur EINVAL et le feof retourne 0.
Consultez _doserrno, errno, _sys_errlist et _sys_nerr pour plus d'informations sur ces éléments et autres codes d'erreur.
Notes
La routine feof (implémentée comme fonction et la macro) détermine si la fin de stream a été passée. Lorsque le fin de fichier est passé, les opérations de lecture retournent un indicateur de fin de fichier jusqu'à ce que le flux de données fermé ou jusqu'à rewind, fsetpos, fseek, ou clearerr est appelé par rapport à.
Par exemple, si un fichier contient 10 octets et vous lisez 10 octets du fichier, feof retourne 0, car bien que le pointeur de fichier soit à la fin de le fichier, vous n'avez pas tenté de lire au delà de la fin. Uniquement lorsque vous essayez de lire un 11ème octet retour feof une valeur différente de zéro.
Configuration requise
Fonction |
En-tête requis |
---|---|
feof |
<stdio.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.
Exemple
// 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 );
}
Entrée : crt_feof.txt
Line one.
Line two.
Sortie
Number of bytes read = 19
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.