العودة إلى الدورة

إدخال وإخراج الملفات الجزء 2: فتح وإغلاق الملفات

لغة C: من الصفر إلى الاحتراف - الدليل الشامل للمبتدئين

الدرس 48: إدخال وإخراج الملفات الجزء 2: فتح وإغلاق الملفات

فتح ملف: fopen()

تحاول دالة fopen() فتح ملف وربط تدفق به. تعيد مؤشر FILE * إذا نجحت، أو NULL في حالة الفشل.

القاعدة: FILE *fopen(const char *filename, const char *mode);

مثال: فتح ملف للكتابة

c #include <stdio.h>

int main() { FILE *fp; char filename[] = "output.txt";

// محاولة الفتح في نمط الكتابة ('w')
fp = fopen(filename, "w");

if (fp == NULL) {
    perror("خطأ في فتح الملف"); // يساعد في عرض رسالة خطأ النظام
    return 1; // إشارة لوقوع خطأ
}

printf("تم فتح الملف '%s' بنجاح.\n", filename);
// ... عمليات على الملف ...

return 0; 

}

إغلاق ملف: fclose()

يؤدي إغلاق الملف إلى فصل التدفق عن الملف، مما يضمن كتابة أي بيانات في التخزين المؤقت إلى القرص وتحرير ذاكرة هيكل FILE . هذا ضروري لمنع فقدان البيانات.

القاعدة: int fclose(FILE *stream); (تعيد 0 عند النجاح، و EOF عند الفشل).

c if (fp != NULL) { if (fclose(fp) == 0) { printf("تم إغلاق الملف بنجاح.\n"); } else { printf("خطأ في إغلاق الملف.\n"); } }

قاعدة: تحقق دائماً من القيمة NULL بعد fopen() واستدعِ دائماً fclose() عند الانتهاء من الملف.