A função clearerr () limpa os indicadores de fim de arquivo e erro para o fluxo fornecido.
Na programação C, clearerr () limpa os indicadores de fim de arquivo e erro para o fluxo fornecido.
A clearerr()
função é definida no arquivo de cabeçalho.
Protótipo C clearerr ()
void clearerr (FILE * stream);
A função clearerr () recebe um parâmetro que é o ponteiro para um objeto FILE que identifica o fluxo.
A função não retorna nenhum valor.
Exemplo: função C clearerr ()
#include int main () ( FILE * pFile; pFile = fopen("myfile.txt","r"); if (pFile == NULL) perror ("Error opening file"); else ( fputc('x', pFile); if(ferror(pFile)) ( printf("Error Writing to myfile.txt"); clearerr(pFile); ) fgetc(pFile); if (!ferror(pFile)) printf("No errors reading myfile.txt"); fclose(pFile); ) return 0; )
Resultado
Erro ao gravar em meuarquivo.txt Sem erros ao ler meuarquivo.txt
Este programa abre um arquivo existente chamado myfile.txt
para leitura.
Agora, a função fputc()
tenta gravar no arquivo. Visto que a escrita não é permitida no modo de leitura, isso causa um erro de E / S.
No entanto, esse erro é eliminado usando clearerr()
. Portanto, quando a próxima verificação de erro ocorrer na ferror()
função, ele exibe que nenhum erro foi encontrado.