الدرس 25: الملفات — الكتابة باستخدام fopen و fprintf
كل متغيّراتنا تعيش في الذاكرة — وفي اللحظة التي ينتهي فيها البرنامج، تختفي. الملفات تحلّ هذه المشكلة: البيانات المكتوبة إلى ملف تبقى على القرص حتى بعد إغلاق البرنامج. FILE *f = fopen("data.txt", "w"); يفتح ملفاً للكتابة، ويجب عليك التحقّق من أنه لم يُرجِع NULL (مسار خاطئ أو صلاحية مفقودة). fprintf(f
الذاكرة لوحٌ أبيض يُمحى كل مساء؛ الملف دفتر. ما كتبته في الدفتر ينتظرك غداً — لكن إن لم تغلقه كما يجب (fclose)، فقد تضيع الصفحة الأخيرة.
- fopen
- يفتح ملفاً ويُرجِع FILE *. إذا فشل الفتح فإنه يُرجِع NULL، لذلك نتحقّق دائماً.
- وضع الفتح ("w" / "a")
- "w" يفتح للكتابة ويمحو المحتوى الموجود؛ "a" يُلحِق في النهاية دون محو.
- fprintf
- مثل printf لكن الخرج يذهب إلى ملف: fprintf(f, "x=%d\n", x);.
- fputs
- يكتب سلسلة نصية بسيطة إلى ملف، دون تنسيق: fputs("hello\n", f);.
- fclose
- يُفرِغ المخزن المؤقّت إلى القرص ويغلق الملف. إلزامي في النهاية — مثل free للذاكرة.