شلون اكتب داخل flie من function في class في لغة الـc++؟

Raghad • منذ 6 سنوات

ساعد بالإجابة

"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."

الإجابات (2)

Abdullah Alhariri • منذ 6 سنوات

يوجد في c++ ثلاث كلاسات للتعامل مع الملفات وهي 

ofstream : وهي خاصة بالكتابة بالملفات

ifstream : وهي خاصة بقراءة الملفات

fstream : وهي تعمل عمل الكلاسين السابقين أي للقراءة والكتابة

مايلي مثال على الكتابة إلى ملف من خلال الكلاس ofstream

 

#include <iostream>
#include <ofstream>
#include <string>
using namespace std;

Class Writer{
   public : 
    bool writeToFile(string filePath, string text){
       ofstream myfile (filePath);
       if (myfile.is_open())
       {
          myfile << text;
          myfile.close();
          return true;
       }
       return false;
    }
};

الدالة writeToFile تقوم بإستقبال معاملين (2 Parameters) 

filePaht : مسار الملف المراد الكتابة به

text : النص المراد كتابته في الملف

ثم تقوم بفتح الملف وتهيئته للقراءة من خلال التعليمة 

ofstream myfile (filePath);

بعدها نتحقق من أن الملف المطلوب تم فتحه وهو جاهز للكتابة به من خلال الشرط 

if(myfile.is_open())

إذا كان الملف جاهز سيتم كتابة النص المرسل للدالة بداخل الملف من خلال التعليمة 

myfile << text;

ومن ثم إغلاقه وإرجاع true وهذا يعني أن الكتابة تمت بنجاح

myfile.close();
return true;

إذا لم يتمكن من فتح الملف لأي سبب كان لن يقوم بتحقيق الشرط وتطبيق ما بداخله وسوف يقوم مباشرة بإرجاع  القيمة false;

 

الآن في الدالة main ما عليك إلا إنشاء متغير جديد من نوع writer وإرسال البيانات للدالة writeToFile ليقوم هو بالكتابة داخل الملف

int main () {
  Writer writer;
  if(writer.writeToFile("filename.txt","This is a test.")){
    cout << "Done" << endl;
  }
  cout << "Unable to open file to write" << endl;

  return 0;
}

بالتوفيق ان شاء الله

Raghad • منذ 6 سنوات

شكراً الله يسعدك يارب 💙💙

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !