BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stdio.h> > clearerr

clearerr() fonksiyonu

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.