البرمجة

تعامل مع ملفات النص في C

لقد فهمت جيدًا ما تحتاج إليه. إذا كنت ترغب في قراءة ملف بحجم/طول غير معروف، وإزالة الأحرف غير الأبجدية وتحويل الحروف الكبيرة إلى حروف صغيرة، ثم طباعته على الشاشة بعرض 80 حرفًا في كل سطر، فسأوفر لك نبذة عامة عن كيفية تحقيق ذلك باستخدام لغة البرمجة C.

أولاً، سنحتاج إلى استخدام مكتبة لغة C المعروفة للتعامل مع ملفات. يمكن استخدام وظائف مثل fopen لفتح الملف و fgetc لقراءة كل حرف منه.

بمجرد قراءة الحروف، يمكننا فحص كل حرف إذا كان حرفًا أبجديًا باستخدام وظيفة isalpha المتاحة في مكتبة ctype.h. إذا كان الحرف أبجديًا، يمكننا تحويله إلى حرف صغير باستخدام وظيفة tolower.

ثم، بمجرد تحويل الحرف والتأكد من أنه أبجدي، يجب علينا طباعته. وهنا يمكننا استخدام متغير لتتبع عدد الأحرف التي تمت طباعتها، وعندما يصل العدد إلى 80 حرفًا، نقوم بإدراج سطر جديد ونعيد تعيين العد الى صفر.

سأقدم لك الآن نموذجًا بسيطًا لكيفية تنفيذ ذلك في C:

c
#include #include #define MAX_LINE_WIDTH 80 int main() { FILE *file = fopen("filename.txt", "r"); // Replace "filename.txt" with your file path if (file == NULL) { printf("Error opening file!\n"); return 1; } int charCount = 0; int ch; while ((ch = fgetc(file)) != EOF) { if (isalpha(ch)) { putchar(tolower(ch)); charCount++; // Check if we need to start a new line if (charCount >= MAX_LINE_WIDTH) { putchar('\n'); charCount = 0; } } } fclose(file); return 0; }

يرجى ملاحظة أنه يجب عليك استبدال “filename.txt” بمسار ملفك الفعلي. هذا البرنامج يقوم بفتح الملف، وقراءة كل حرف منه، وإذا كان حرفًا أبجديًا، يتم تحويله إلى حرف صغير ثم طباعته على الشاشة. وعندما يصل العدد إلى 80 حرفًا، يتم إدراج سطر جديد.

المزيد من المعلومات

بالطبع، دعني أواصل توضيح العملية وأضيف بعض التفاصيل الإضافية.

بعد أن فتحنا الملف باستخدام fopen، يتم فحص كل حرف باستخدام دورة while حتى نصل إلى نهاية الملف التي تُمثلها العلامة EOF (نهاية الملف). خلال كل تكرار من الدورة، يتم استخدام fgetc لقراءة الحرف القادم من الملف.

ثم يتم استخدام isalpha لفحص ما إذا كان الحرف الحالي هو حرف أبجدي أم لا. إذا كان الحرف أبجدي، فيتم استخدام tolower لتحويله إلى حرف صغير.

بعد ذلك، يتم طباعة الحرف الذي تم تحويله باستخدام putchar، ويتم زيادة charCount بمقدار واحد لتتبع عدد الأحرف التي تمت طباعتها.

عندما يصل charCount إلى القيمة المحددة في MAX_LINE_WIDTH (التي تُعبر عن العرض المطلوب لكل سطر)، يتم طباعة سطر جديد باستخدام putchar('\n') ويتم إعادة تعيين قيمة charCount إلى الصفر، مما يسمح ببدء طباعة حروف جديدة في سطر جديد.

أخيرًا، بعد الانتهاء من قراءة الملف بأكمله، يتم إغلاق الملف باستخدام fclose.

هذا البرنامج البسيط يوفر لك الوظائف الأساسية لقراءة ملف بحجم غير معروف، تحويل الحروف إلى صغيرة وإزالة الأحرف غير الأبجدية، ثم طباعة النص بتنسيق 80 حرفًا في كل سطر. قد يحتاج إلى تعديلات إضافية حسب متطلباتك الخاصة، مثل التعامل مع المسافات والعلامات الترقيمية والرموز الخاصة، ولكن هذا يوفر أساسًا قويًا للبدء.

إذا كان لديك أي استفسارات إضافية أو تحتاج إلى مساعدة في تعديل البرنامج وفقًا لاحتياجاتك الخاصة، فلا تتردد في طرحها.

زر الذهاب إلى الأعلى