close
نطاقات
المتغيرات
أفعال

feof

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

تفحص ما إذا تم الوصول إلى نهاية تيار بيانات لملف.

المعطيات

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

القيمة المُرجعة

قيمة عدا الصفر إذا تم الوصول إلى نهاية التيار. عدا ذلك: 0.

ملحوظات

هذه الدالة تعبر عن حالة التيار وفقا لآخر عملية إدخال أو إخراج. فمثلا لو كانت آخر عملية هي fgetc‎ وكان ناتجها اخر حرف في الملف, تقوم ‎feof‎ بإرجاع صفر. إذا تم استدعاء fgetc‎ مرة أخرى ستفشل العملية ويتم تسجيل العلامة end-of-file. فقط عندئذ تقوم ‎feof‎ بإرجاع قيمة غير الصفر.

عادة ما يتم وقف العمليات عند حدوث خطأ. بعد ذلك يمكن استخدام ‎feof‎ و ferror‎ لتحديد ماهية الخطأ.

مثال

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE* fp = fopen("test.txt", "r");
    if(!fp) {
        perror("File opening failed");
        return EXIT_FAILURE;
    }

    int c; // note: int, not char, required to handle EOF
    while ((c = fgetc(fp)) != EOF) { // standard C I/O file reading loop
       putchar(c);
    }

    if (ferror(fp))
        puts("I/O error when reading");
    else if (feof(fp))
        puts("End of file reached successfully");

    fclose(fp);
}


أنظر أيضا

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