الدرس 49: إدخال وإخراج الملفات الجزء 3: إدخال وإخراج الحروف (fputc, fgetc)
تُستخدم هذه الدوال لقراءة أو كتابة حرف واحد من/إلى تدفق الملف.
كتابة حرف: fputc()
تكتب حرفاً واحداً في تدفق الملف المحدد.
القاعدة: int fputc(int character, FILE *stream);
c FILE *fp = fopen("data.txt", "w");
if (fp != NULL) { fputc('A', fp); fputc('B', fp); fputc('\n', fp); fclose(fp); } // يحتوي 'data.txt' الآن على: A // B
قراءة حرف: fgetc()
تقرأ الحرف التالي من تدفق الملف المحدد. تعيد الحرف الذي تمت قراءته، أو EOF (نهاية الملف) إذا تم الوصول إلى نهاية الملف أو حدث خطأ.
c FILE *fp = fopen("data.txt", "r"); int ch; // استخدم int لاستيعاب EOF
if (fp != NULL) { while ((ch = fgetc(fp)) != EOF) { printf("%c", (char)ch); // التحويل مرة أخرى لـ char للطباعة } fclose(fp); }
نسخ الملفات (مثال عملي)
يتيح لنا الجمع بين fgetc و fputc إنشاء دالة تقوم بنسخ محتويات ملف إلى آخر، حرفاً بحرف.