Condividi tramite


_eof

Test per la fine del file (EOF).

Sintassi

int _eof(
   int fd
);

Parametri

fd
Il descrittore del file che fa riferimento al file aperto.

Valore restituito

_eof restituisce 1 se la posizione corrente è la fine del file o 0 se non lo è. Un valore restituito pari a -1 indica un errore; in questo caso, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno viene impostato su EBADF, che indica un descrittore di file non valido.

Osservazioni:

La funzione _eof determina se la fine del file associato a fd è stata raggiunta.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Funzione Intestazione obbligatoria Intestazione facoltativa
_eof <io.h> <errno.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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 );
}

Input: crt_eof.txt

This file contains some text.

Output

Number of bytes read = 29

Vedi anche

Gestione errori
I/O di basso livello
clearerr
feof
ferror
perror, _wperror