المتغيرات
فضاءات التسمية
أفعال

ferror

من cppreference.com
< c‏ | io
معرفة في ملف <stdio.h>
int ferror( FILE *stream );

فحص حدوث خطأ أثناء التعامل مع تيار الملف.

محتويات

[تعديل] المعطيات

stream - تيار الملف المراد فحصه

[تعديل] القيمة المُرجعة

قيمة عدا الصفر إذا سبق حدوث أخطاء أثناء التعامل مع تيار الملف. 0 فيما عدا ذلك.

[تعديل] مثال

استخدام ferror للتأكد من حدوث خطأ

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    FILE* tmpf = tmpfile();
    fputs("abcde\n", tmpf); 
    rewind(tmpf);
 
    int ch;
    while ((ch=fgetc(tmpf)) != EOF)   /* read/print characters including newline */
          printf("%c", ch);
 
    /* Test reason for reaching EOF. */
    if (feof(tmpf))          /* if failure caused by end-of-file condition */
       puts("End of file reached successfully");
    else if (ferror(tmpf))   /* if failure caused by some other error      */
         {
            perror("fgetc()");
            fprintf(stderr,"fgetc() failed in file %s at line # %d\n", __FILE__,__LINE__-9);
            exit(EXIT_FAILURE);
         }
 
    return EXIT_SUCCESS;
}

الخرج:

abcde
End of file reached successfully

[تعديل] أنظر أيضا

تحذف الأخطاء
(دالة) [edit]
تفحص ما إذا كان التيار يشير إلى نهاية الملف
(دالة) [edit]
تعرض سلسلة تعبر عن الخطأ في stderr‎
(دالة) [edit]