English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
إليك إعلان وظيفة clearerr().
void clearerr(FILE *stream)
stream -- هذا هو عرض FILE الهدف، الذي يعرف التدفق.
هذا لن يفشل، ولن يضبط متغير errno الخارجي، ولكن إذا لاحظ أن معاملته ليس تدفقًا صالحًا، فإنه يعود -1 ويضبط errno إلى EBADF.
هذا المثال يوضح استخدام وظيفة clearerr().
#include <stdio.h> int main() { FILE *fp; char c; fp = fopen("file.txt", "w"); c = fgetc(fp); if( ferror(fp) ) { printf("قراءة ملف: file.txt عند حدوث خطأ\n"); } clearerr(fp); if( ferror(fp) ) { printf("قراءة ملف: file.txt عند حدوث خطأ\n"); } fclose(fp); return(0); }
لنفترض أن لدينا ملف نصي file.txt، لأنه ملف فارغ. دعونا نكتب ونجرب البرنامج أعلاه، لأننا نحاول قراءة ملف مفتوح في نمط فقط للكتابة، مما ينتج عنه النتيجة التالية.
حدث خطأ عند قراءة ملف: file.txt