Partager via


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.

xssktc6e.collapse_all(fr-fr,VS.110).gifSortie

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é.

Voir aussi

Référence

Gestion des erreurs (CRT)

E/S de flux

clearerr

_eof

ferror

perror, _wperror