feof
Tests pour la fin d'un flux de données.
int feof(
FILE *stream
);
Paramètres
- stream
Pointeur vers la structure d' 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 lecture au delà de la fin de le fichier ; elle retourne 0 sinon.si le pointeur sur stream est NULL, la fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, errno est défini à EINVAL et retourne 0 d' feof .
Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour plus d'informations sur ce point, ainsi que d'autres, les codes d'erreur.
Notes
La routine d' feof (implémentée en tant que fonction et en tant que) détermine si la fin d' stream passée.Lorsque la fin du fichier est passé, les opérations de lecture retournent un indicateur de fin du fichier jusqu'à ce que le flux de données soit fermé ou jusqu'à ce que rewind, fsetpos, fseek, ou clearerr est appelé sur celui-ci.
Par exemple, si un fichier contient 10 octets et vous lisez 10 octets à partir de le fichier, feof retourne 0 parce que, même si le pointeur de fichier soit à la fin de le fichier, vous n'avez pas tenté de lire au delà de la fin.Uniquement après que vous essayez de lire un 11ème octet retour d' feof une valeur différente de zéro.
Configuration requise
Fonction |
en-tête requis |
---|---|
feof |
<stdio.h> |
Pour des informations de compatibilité supplémentaires, 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 l' exemples d'appel de code non managé.