ferror
من cppreference.com
<tbody>
</tbody>
| معرفة في ملف <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
أنظر أيضا
| تحذف الأخطاء (دالة) | |
| تفحص ما إذا كان التيار يشير إلى نهاية الملف (دالة) | |
| تعرض سلسلة تعبر عن الخطأ في stderr (دالة) | |
مقالة مرجع C++ عن ferror
| |