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.