الدرس الثامن الملفات
2 مشترك
صفحة 1 من اصل 1
الدرس الثامن الملفات
في هذا الدرس سوف نتعرض لتخزين البيانات واسترجاعها من الملفات بالطبع مافائدة ادخال كم كبير من البيانات اذا لم نستطع تخزينها واسترجاعها ان اوامر الحفظ بالبرامج التي تستخدمها من اهم الاوامر التي تستخدمها وان امر فتح ملف ماهي الا عملية استرجاع لبيانات سبق حفظها بملف وهذا هو موضوعنا اليوم.
عندنا اليوم فئتين هامتين للعمليتين السابق ذكرهما ألا وهما الحفظ والاسترجاع وبالاضافة الى الفئتين سيكون بصحبتنا الملف fstream.h كرأس ملف للتعريفات الخاصة بالفئتين
ستتولى هذه الفئة القراءة من الملفات اي عملية استرجاع البيانات او فتح الملفات
ولنأخذ مثال للتوضيح
ifstream MyFile (“mydata.txt”);
ولنرى طريقة صياغة الامر بالجدول المعتاد
يستخدم البارامتر الاختياري لاستدعاء دوال الفئة سواء لفتح او اغلاق الملف وكل ملف يفتح سواء للكتابة او القراءة لابد ان يغلق بعد تمام العملية واذا نسيت ذلك فتأكد من ضياع بياناتك وهذا يحدث كثيرا عند اغلاق الكومبيوتر بغير الطريقه الصحيحة حينها تكون البرامج قد قامت بفتح ملفات ولم تغلقها لانك اغلقت الجهاز حينها تحدث اخطاء ويقوم نظام تشغيل الوندوز باستدعاء scandisk للتصحيح هذه المشكلة
البارامتر السابق تعريفه للفئة يقوم باستدعاء احد الدوال الهامه وهي دالة اغلاق الملف كما ذكرنا لك سابقا واليك مثال كامل لعمليات الحفظ والاسترجاع لتتضح الصورة امامك كاملة.
#include <fstream.h>
#include <iostream.h>
int main()
{
char str[10];
ofstream svfile("example.txt");
svfile<<"I want to save this line of data as an example";
svfile.close();
ifstream rdfile("example.txt");
rdfile>>str;
cout<<str;
rdfile.close();
}
تم الاعلان عن معاملين افتراضيين هما svfile ليعمل مع الفئة ofstream لتخزين البيانات والمتمثلة تخزين العبارة I want to save this line of data as an example
بعد ذلك استخدم معامل الفئة لاغلاق الملف بالدالة close
المشكلة الواجب التنبيه عليها انه مع الفئة ofstream واذكرك بأنها هي التي تحفظ الملفات ان الملف الذي اعطيتها اسمه اذا لم يكن موجود فسوف ينشأ اما اذا كان موجود فسوف يلغى مابداخله وهذه مشكله فربما انك تفتح ملف موجود وتريد اضافة بيانات له او تعديل بيانات فيه ولذلك يجب اعطاء وتمرير بارامترات للدالة المستخدمة كما يلي
ifstream svfile("mydata.txt", ios::nocreate);
عندنا اليوم فئتين هامتين للعمليتين السابق ذكرهما ألا وهما الحفظ والاسترجاع وبالاضافة الى الفئتين سيكون بصحبتنا الملف fstream.h كرأس ملف للتعريفات الخاصة بالفئتين
الفئة الاولى ifstream
ستتولى هذه الفئة القراءة من الملفات اي عملية استرجاع البيانات او فتح الملفات
الفئة الثانية ofstream
ستتولى هذه الفئة الكتابة في الملفات اي عملية حفظ البيانات
ستتولى هذه الفئة الكتابة في الملفات اي عملية حفظ البيانات
ولنأخذ مثال للتوضيح
ifstream MyFile (“mydata.txt”);
ولنرى طريقة صياغة الامر بالجدول المعتاد
الصيغة | الشرح |
ifstream | اسم الفئة الخاصة بفتح الملفات |
MyFile | بارامتر اختياري تختاره لاستدعاء دوال الفئة |
(“mydata.txt”); | بين قوسين وعلامتي اقتباس تضح اسم الملف المراد فتحه ولايغيب عنك انه يجب ان يكون ملف موجود على القرص |
يستخدم البارامتر الاختياري لاستدعاء دوال الفئة سواء لفتح او اغلاق الملف وكل ملف يفتح سواء للكتابة او القراءة لابد ان يغلق بعد تمام العملية واذا نسيت ذلك فتأكد من ضياع بياناتك وهذا يحدث كثيرا عند اغلاق الكومبيوتر بغير الطريقه الصحيحة حينها تكون البرامج قد قامت بفتح ملفات ولم تغلقها لانك اغلقت الجهاز حينها تحدث اخطاء ويقوم نظام تشغيل الوندوز باستدعاء scandisk للتصحيح هذه المشكلة
MyFile.close();
البارامتر السابق تعريفه للفئة يقوم باستدعاء احد الدوال الهامه وهي دالة اغلاق الملف كما ذكرنا لك سابقا واليك مثال كامل لعمليات الحفظ والاسترجاع لتتضح الصورة امامك كاملة.
#include <fstream.h>
#include <iostream.h>
int main()
{
char str[10];
ofstream svfile("example.txt");
svfile<<"I want to save this line of data as an example";
svfile.close();
ifstream rdfile("example.txt");
rdfile>>str;
cout<<str;
rdfile.close();
}
تم الاعلان عن معاملين افتراضيين هما svfile ليعمل مع الفئة ofstream لتخزين البيانات والمتمثلة تخزين العبارة I want to save this line of data as an example
بعد ذلك استخدم معامل الفئة لاغلاق الملف بالدالة close
والمعامل الثاني rdfile ليعمل مع الفئة ifstream لقراءة البيانات من الملفات وبالتحديد الملف المذكور example.txt ثم تحميل البيانات الى متغير حرفي سبق الاعلان عنه واستخدام معامل الفئة لاغلاق الملف
المشكلة الواجب التنبيه عليها انه مع الفئة ofstream واذكرك بأنها هي التي تحفظ الملفات ان الملف الذي اعطيتها اسمه اذا لم يكن موجود فسوف ينشأ اما اذا كان موجود فسوف يلغى مابداخله وهذه مشكله فربما انك تفتح ملف موجود وتريد اضافة بيانات له او تعديل بيانات فيه ولذلك يجب اعطاء وتمرير بارامترات للدالة المستخدمة كما يلي
Flag | Function |
ios::app | Opens an output file for appending. |
ios::ate | Opens an existing file (either input or output) and seeks the end. |
ios::in | Opens an input file. Use ios::in as an open_mode for an ofstream file to prevent truncating an existing file. |
ios::out | Opens an output file. When you use ios::out for an ofstream object without ios::app, ios::ate, or ios::in, ios::trunc is implied. |
ios::nocreate | Opens a file only if it already exists; otherwise the operation fails. |
ios::noreplace | Opens a file only if it does not exist; otherwise the operation fails. |
ios::trunc | Opens a file and deletes the old file (if it already exists). |
ios::binary | Opens a file in binary mode (default is text mode). |
ifstream svfile("mydata.txt", ios::nocreate);
Aminos- .:: V I P ::.
- عدد المساهمات : 14
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010
رد: الدرس الثامن الملفات
تباركلاه عليك خاي آمين
تسلم الأيادي ما قصرت
الله يعطيك الصحة
تسلم الأيادي ما قصرت
الله يعطيك الصحة
younes-bcr- .::|| الإدارة ||::.
- عدد المساهمات : 93
السٌّمعَة : 0
تاريخ التسجيل : 09/06/2010
العمر : 36
مواضيع مماثلة
» الدرس الثامن: اعداد الكلينت لاسقبال البريد من سيرفر الإكسشينج
» الدرس الاول اساسيات سي بلس بلس
» الدرس الرابع الدوال
» الدرس السادس المصفوفات
» الدرس الثاني أوامر الاشتراطات
» الدرس الاول اساسيات سي بلس بلس
» الدرس الرابع الدوال
» الدرس السادس المصفوفات
» الدرس الثاني أوامر الاشتراطات
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى