Bildirim
int ferror(FILE *stream);
Açıklama
Fonksiyon stream parametresi ile gösterilen dosya akışını hatalar için kontrol eder.
Parametreler
stream: Kontrol edilecek dosya akışını tanımlayan FILE nesnesi işaretçisidir.
Dönüş değeri
Eğer akışla ilgili bir hata varsa sıfır olmayan bir değer, aksi takdirde 0 değeri geri döndürülür.
Ö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");
}
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.