feof
من cppreference.com
<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);
}
أنظر أيضا
| تحذف الأخطاء (دالة) | |
| تعرض سلسلة تعبر عن الخطأ في stderr (دالة) | |
| تكشف عن وقوع خطأ في تيار ملف (دالة) | |
مقالة مرجع C++ عن feof
| |