Clearerr () işlevi, verilen akış için dosya sonu ve hata göstergelerini temizler.
C programlamasında, clearerr () verilen akış için dosya sonu ve hata göstergelerini temizler.
clearerr()
İşlev başlık dosyasında tanımlanır.
C clearerr () Prototip
void clearerr (FILE * akışı);
Clearerr () işlevi, akışı tanımlayan bir FILE nesnesine işaretçi olan bir parametre alır.
İşlev herhangi bir değer döndürmez.
Örnek: C clearerr () işlevi
#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; )
Çıktı
Myfile.txt Yazma Hatası Dosyam.txt okunurken hata yok
Bu program myfile.txt
, okumak için çağrılan mevcut bir dosyayı açar .
Şimdi, işlev fputc()
dosyaya yazmaya çalışır. Okuma modunda yazmaya izin verilmediğinden, bir G / Ç hatasına neden olur.
Ancak bu hata kullanılarak temizlenir clearerr()
. Böylece, ferror()
işlevde bir sonraki hata kontrolü gerçekleştiğinde , herhangi bir hata bulunmadığını gösterir.