البرمجة

تخزين سطور ملف نصي في مصفوفة باستخدام لغة البرمجة C

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

للقراءة السطرية، يمكنك تحديد مصفوفة من السلاسل (strings)، حيث يُمكن استخدام fgets لقراءة كل سطر على حدة. فيما يلي تعديل على الكود الخاص بك لتحقيق ذلك:

c
#include #define MAX_LINES 100 // عدد السطور المتوقعة في الملف int main() { FILE *file; char array[MAX_LINES][200]; // مصفوفة لتخزين السطور file = fopen("test.txt", "r"); if (file == NULL) { perror("Error opening file"); return 1; } int lineCount = 0; while (fgets(array[lineCount], sizeof(array[0]), file) != NULL) { // قم بتحويل السطر إلى مصفوفة بطول ثابت array[lineCount][sizeof(array[0]) - 1] = '\0'; lineCount++; // تحقق من ألا تتجاوز عدد السطور المتوقعة if (lineCount >= MAX_LINES) { printf("Reached the maximum number of lines. Increase MAX_LINES if needed.\n"); break; } } // طباعة محتوى المصفوفة for (int i = 0; i < lineCount; i++) { printf("%s", array[i]); } fclose(file); return 0; }

يقوم الكود بفتح الملف باستخدام fopen ثم يقرأ السطور باستخدام fgets ويخزن كل سطر في مصفوفة. يتم طباعة المصفوفة في النهاية باستخدام printf. يُرجى ملاحظة أنني قد قمت بتعيين عدد السطور المتوقعة في الملف (MAX_LINES)، ويمكنك ضبطها حسب احتياجاتك.

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

بالتأكيد، دعونا نوسع على الكود المقدم ونقدم بعض المزيد من المعلومات لتفهم العملية بشكل أفضل.

في هذا الكود، قمنا بتعيين حجم المصفوفة إلى char array[200][50]، حيث يكون العدد 200 هو عدد السطور المتوقع في الملف و 50 هو طول السطر الذي يمكنه التخزين.

داخل الحلقة while، يتم استخدام fscanf مع التنسيق %49[^\n]\n، حيث:

  • %49[^\n]: يعني قراءة أي محارف (حتى 49 حرفًا) غير نيو لاين \n، وهذا يضمن أننا لن نتجاوز حد السطر.
  • \n: يستخدم لقراءة وتجاوز نيو لاين، لكي لا يتم تخزينه في المصفوفة.

تم استخدام != EOF للتحقق من أننا لم نصل إلى نهاية الملف.

بعد الحلقة، يتم إغلاق الملف باستخدام fclose.

أخيرًا، يتم طباعة المصفوفة باستخدام حلقة أخرى for للتأكد من أن السطور تم قراءتها بشكل صحيح وتم تخزينها في المصفوفة.

هذا الكود يسمح لك بقراءة ملف نصي، وتخزين السطور في مصفوفة، ثم طباعتها. يمكنك تعديل حجم المصفوفة والتنسيق وفقًا لاحتياجاتك الخاصة.

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