C++كيفية إنشاء نسخة من ملف غير نصي
يوجد طرق خاصة للتعامل مع الملفات الغير نصية مما يجعل عملية التعامل معها أسرع و أكثر كفاءة.
إذاً لن نستخدم الرموز >>
و <<
أو الدالة getline() عند التعامل مع ملفات غير نصية.
الآن, لقراءة محتوى ملف غير نصي نستخدم دالة جاهزة إسمها read() و للكتابة في ملف غير نصي نستخدم دالة جاهزة إسمها write().
- الدالة read() ترجع لك محتوى الملف كمصفوفة أحرف.
- الدالة write() تمرر لها المحتوى الذي تريد كتابته في الملف كمصفوفة أحرف أيضاً.
بناء الدالتين read() و write():
في المثال التالي قمنا بإنشاء كائن من الكلاس ifstream
لنقرأ محتوى ملف إسمه D:/files/logo.PNG
و من ثم إنشاء نسخة منه بواسطة كائن من الكلاس ofstream
إسمها logo-copy.PNG
في نفس المجلد الذي يوجد فيه الملف الأصلي.
ملاحظة: نحن إفترضنا أنه على الحاسوب يوجد ملف إسمه logo.PNG
في مجلد إسمه files
في القرص D
.
إذا كنت ستجرب الكود التالي لا تنسى وضع مسار الملف الذي تريد إنشاء نسخة منه بشكل صحيح نسبةً لك أنت.
مثال
عند تشغيل البرنامج, سيتم إنشاء نسخة من الملف إن لم تحدث أي مشكلة و لن يتم طباعة أي شيء في البرنامج.
عند تشغيل البرنامج, إذا كان يوجد مشكلة في مسارات الملفات الموضوعة أو أنه لا يمكن إنشاؤه لأي سبب كان سيتم طباعة الجملة التالية.
Operation failed!