Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

لم أفهم كيفية معرفة حجم الملف في ++C

السلام عليكم و رحمة الله و بركاته.

لم أفهم كود معرفة حجم الملف الموضوع في درس التعامل مع الملفات في لغة ++C.

لماذا عرفتم المتغير end بهذه الطريقة streampos end;؟

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    // آخر حرف في الملف index لتخزين end سنستخدم المتغير
    streampos end;

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

    // إفترضنا أنه موجود في المشروع "demo.txt" لفتح ملف إسمه open() هنا قمنا باستدعاء الدالة
    myFile.open("demo.txt");

    // لا يوجد فيه أي مشاكل قبل التعامل معه myFile هنا قمنا بالتأكد من أن الإتصال بالملف الذي يشير له الكائن
    if(myFile)
    {
        // لها لجعل المترجم يتوجه لآخر حرف موجود في الملف ios::end و تمرير الثابت seekg() هنا قمنا باستدعاء الدالة
        myFile.seekg(0, ios::end);
    
        // end الحرف الحالي الذي يقف عنده المترجم في الذاكرة و من ثم تخزينه في المتغير index لتخزين tellg() هنا قمنا باستدعاء الدالة
        end = myFile.tellg();
    
        // آخر حرف في الملف و الناتج سيكون حجم الملف index هنا قمنا بطباعة
        cout << "Size is: " << end << " bytes.";
    }
    else
    {
        // ثم نطقتين فوق بعضهما, ثم سبب الخطأ الذي حدث "Error" في حال وجود خطأ سيتم طباعة كلمة
        perror("Error");
    }
    
    // لإغلاق الإتصال مع الملف في حال كان قد تم فتحه أصلاً myFile من الكائن close() هنا قمنا باستدعاء الدالة
    myFile.close();

    return 0;
}

تعليقات 1

أضف تعليق

يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.