feof  função

A função feof verifica o indicador de fim de arquivo (EOF) do fluxo e retorna um valor diferente de zero se este indicador estiver setado.

O indicador de fim de arquivo (EOF) de um fluxo pode ser limpo utilizando a função clearerr.

Protótipo

int feof (FILE * fluxo);

Parâmetros

fluxo - Fluxo a ter o seu indicador de EOF testado.

Valor de retorno

Retorna um valor diferente de zero se e apenas se o indicador de fim de arquivo (EOF) do fluxo estiver setado. Se o indicador de EOF estiver limpo, retorna zero.

Exemplo
#include <stdio.h>

int main() {
    FILE *arquivo;
    char c;

    arquivo = fopen("arquivo.txt", "w");
    if(arquivo == NULL) {
        fprintf(stdderr, "Erro ao abrir o arquivo.txt\n");
        return 1;
    }

    /* lê até receber um EOF. receber um EOF não significa que o fgetc
       leu até alcançar o fim do arquivo. erros também retornam EOF. */
    while(fgetc(arquivo != EOF);

    if(feof(arquivo)) {
        puts("O arquivo inteiro foi lido.");
    } else {
        puts("O indicador de fim de arquivo (EOF) não está marcado. Um erro ocorreu.");
    }

    fclose(arquivo);

    return 0;
}
Veja também

clearerr função

ferror função

EOF macro