Bildirim
void clearerr(FILE *stream);
Açıklama
Fonksiyon stream parametresi ile gösterilen dosya akışının hata göstergeleri ile EOF göstergesini resetler.
Parametreler
stream: Dosya akışını tanımlayan FILE nesnesi işaretçisidir.
Dönüş değeri
Yok.
Örnek
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
FILE *fp;
if ((fp = fopen ("dosya.txt", "r")) == NULL) {
printf("Dosya açma hatası!");
exit(1);
}
fputc('A', fp);
if(ferror(fp)) {
printf("Dosyaya yazma hatası!\n");
clearerr(fp);
if(ferror(fp)) {
printf("Dosyaya yazma hatası!\n");
}
}
fclose(fp);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:
Dosyaya yazma hatası!
Yukarıdaki program, fopen() fonksiyonu ile okuma modunda (r) açtığı dosyaya fputc() fonksiyonu ile bir karakter yazmaya çalışır. Ancak, dosya okuma modunda açıldığından, bir hata oluşur ve ferror() fonksiyonu ile hata kontrol edildikten sonra "Dosyaya yazma hatası!" ifadesi ekrana yazılır. Sonra, clearerr() fonksiyonu ile hata bayrakları temizlendiğinden bir sonraki denemede hata konrolü olumsuz sonuçlandığından ekrana herhangi bir değer yazılmaz.