البرمجة

قراءة وطباعة أولى 50 سطرًا في C++

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

أولاً وقبل الشروع في الكود، يجب عليك فتح ملف الإدخال باستخدام كائن من نوع ifstream. يمكنك استخدام الكود التالي لفتح الملف:

cpp
#include #include #include int main() { std::ifstream inputFile("اسم_الملف.txt"); if (!inputFile) { std::cerr << "Unable to open the input file." << std::endl; return 1; } // الآن يمكننا البدء في قراءة الملف // سنقوم بتكرار القراءة حتى الوصول إلى السطر الذي نريد (في هذه الحالة، السطر 50) // ونقوم بطباعة كل سطر أثناء القراءة int lineNumber = 1; std::string line; while (std::getline(inputFile, line) && lineNumber <= 50) { std::cout << "Line " << lineNumber << ": " << line << std::endl; lineNumber++; } // بعد الانتهاء من القراءة، يجب إغلاق الملف inputFile.close(); return 0; }

هذا الكود يقوم بفتح ملف الإدخال وقراءة كل سطر حتى يصل إلى السطر رقم 50. خلال عملية القراءة، يتم طباعة رقم السطر ومحتواه. بعد الانتهاء من القراءة، يتم إغلاق الملف.

هذا مثال بسيط يمكن أن يفيدك في فهم كيفية التعامل مع ملفات الإدخال في C++. إذا كنت تحتاج إلى مزيد من التوضيح أو لديك أي أسئلة إضافية، فلا تتردد في طرحها.

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

بالطبع، سنقوم الآن بتوسيع المعلومات حول الكود وشرح بعض النقاط الهامة.

أولًا، دعونا نلقي نظرة على الجزء الأول من الكود:

cpp
#include #include #include

هذا الجزء يقوم بتضمين المكتبات اللازمة للعمل مع إدخال وإخراج البيانات، والملفات. تُضيف #include دعمًا لإجراءات الإدخال والإخراج في C++، #include تُستخدم للتلاعب بملفات النص، و #include تقدم الإمكانيات للتعامل مع السلاسل النصية.

ثم يأتي الجزء التالي:

cpp
int main() { std::ifstream inputFile("اسم_الملف.txt"); if (!inputFile) { std::cerr << "Unable to open the input file." << std::endl; return 1; }

في هذا الجزء، نقوم بتعريف دالة main() التي تُعتبر نقطة بداية تنفيذ البرنامج. نقوم بإنشاء كائن من نوع ifstream يُسمى inputFile ونفتح الملف باستخدام اسم الملف “اسم_الملف.txt”. يتم فحص إمكانية فتح الملف باستخدام if (!inputFile)، وفي حالة عدم النجاح، يتم طباعة رسالة خطأ ويتم إرجاع قيمة غير صفرة للإشارة إلى حدوث خطأ.

ثم يأتي الجزء الرئيسي من البرنامج:

cpp
int lineNumber = 1; std::string line; while (std::getline(inputFile, line) && lineNumber <= 50) { std::cout << "Line " << lineNumber << ": " << line << std::endl; lineNumber++; }

نستخدم متغير lineNumber لتتبع رقم السطر الحالي ونقوم بتعريف سلسلة line لتخزين محتوى السطر الحالي من الملف. نستخدم std::getline(inputFile, line) لقراءة كل سطر من الملف وتخزينه في line. يتم التحقق من نجاح عملية القراءة ومن أن رقم السطر لا يتجاوز 50 باستخدام && lineNumber <= 50. إذا نجحت عملية القراءة وكان رقم السطر ضمن الحدود، نقوم بطباعة رقم السطر ومحتواه باستخدام std::cout.

أخيرًا، يتم إغلاق الملف بواسطة:

cpp
inputFile.close();

وذلك لتحرير الموارد بشكل صحيح بعد الانتهاء من استخدام الملف.

هذا الكود يعد مثالًا بسيطًا على كيفية التعامل مع ملفات الإدخال في C++. إذا كنت تحتاج إلى المزيد من التوضيح أو لديك أي أسئلة إضافية، فأنا هنا للمساعدة.

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