Compartilhar via


feof

Testes para o participante de arquivo em um fluxo.

int feof( 
   FILE *stream 
);

Parâmetros

  • stream
    Ponteiro para FILE estrutura.

Valor de retorno

The feof função retorna um valor diferente de zero se tentou uma operação de leitura a leitura ultrapassou o participante do arquivo; ela retorna 0 caso contrário. Se o ponteiro de fluxo for NULL, a função chama o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é definido como EINVAL e o feof Retorna 0.

See _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre esses e outros, códigos de erro.

Comentários

The feof rotina (implementada sistema autônomo uma função e uma macro) determina se o participante do stream foi passado. Quando o participante do arquivo é passado, as operações de leitura retornam um indicador de participante de arquivo até que o fluxo está fechado ou até rewind, fsetpos, fseek, ou clearerr é chamado em relação a ele.

Por exemplo, se um arquivo contiver 10 bytes e ler 10 bytes do arquivo, feof retornará 0 porque, mesmo que o ponteiro do arquivo esteja no participante do arquivo, você não tentou ler além do participante. Apenas após tentar ler um byte 11 será feof Retorna um valor diferente de zero.

Requisitos

Função

Cabeçalho necessário

feof

<stdio.h>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

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

Entrada: crt_feof.txt

Line one.
Line two.

Saída

Number of bytes read = 19

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Erro Handling (CRT)

Fluxo de E/S

clearerr

_eof

ferror

perror, _wperror