قراءة محتوى الملفات وعرضها في C++


يوضح هذا المقال كيفية استخدام الفئات `ifstream` و`getline` في لغة C++ لقراءة محتوى ملف نصي وعرضه على نافذة الكونسول.


يوضح المثال التالي كيفية قراءة محتوى ملف `demo.txt`، الذي تم إنشاؤه مسبقًا، ثم عرض محتواه ضمن نافذة الكونسول في البرنامج.

# include <iostream>
# include <fstream>
using namespace std;

int main () {
  // هنا قمنا بإنشاء كائن من الكلاس ifstream إسمه infile لأننا سنستخدمه لقراءة محتوى ملف موجود في الحاسوب
  ifstream infile;

  // هنا قمنا باستدعاء الدالة open() لفتح الملف "demo.txt"
  infile.open ( "demo.txt" );

  // هنا قمنا بالتأكد من أن الإتصال بالملف الذي يشير له الكائن infile لا يوجد فيه أي مشاكل قبل التعامل معه
  if (infile) {
    // سنستخدم هذا المتغير لتخزين كل سطر جديد نقوم بجلبه من الملف فيه بشكل مؤقت قبل عرضه
    string line;

    // هنا في كل دورة من دورات الحلقة while طالما أن الدالة getline() تجد سطر جديد, ستقوم بوضعه بشكل مؤقت في المتغير line
    while ( getline (infile, line)) {
      // بعدها سنقوم بعرضه و النزول على سطر جديد حتى لا يظهر كل محتوى الملف على سطر واحد
      cout << line << endl;
    }
  }
  // هنا قمنا باستدعاء الدالة close() من الكائن infile لإغلاق الإتصال مع الملف المفتوح في الذاكرة
  infile.close ();
  return 0 ;
}

عند تنفيذ البرنامج، سيُعرض محتوى الملف `demo.txt` على نافذة الكونسول كما يلي:
This is a line.
This is another line.