C clearerr () - Biblioteca Padrão C

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.txtpara 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.

Artigos interessantes...