نمایش نتایج 1 تا 3 از 3

نام تاپیک: مشکلی در مورد کار با فایل ها در C++‎

  1. #1

    Exclamation مشکلی در مورد کار با فایل ها در C++‎

    برنامه ی ساده ای رو که در پایین می بینید , نوعی کلاس شامل یک رشته کاراکتر و یک اینتجر است. که برنامه با توابعی متغیر هایی از نوع این کلاس رو دریافت و در فایلی ذخیره میکند و در قسمتی هم محتویات آن را نشان می دهد.
    در صورتی که برنامه رو اجرا کنیم و در این فایل بنویسیم و آن را نمایش دهیم مشکلی پیش نمی آید , اما مساله ی من اینجاست که اگر این برنامه رو ببندیم و دوباره اجرا کنیم و بخواهیم محتویات فایل رو ببینیم , فایل مطالب پرت و پلا نمایش می دهد.
    خیلی ممنون میشم که راهنمایی کنید.
    عکس وسط نمایش فایل بلافاصله بعد از ثبت در فایل. عکس سمت راست نمایش فایل بعد از اجرای مجدد برنامه.


    #include <iostream>
    #include <conio>
    #include <fstream>
    #include <stdio>
    class data
    {
    int n;
    char *st;
    public:
    data();
    void getdata();
    void showdata();
    };
    data::data()
    {
    st=new char[40];
    }
    void data::getdata()
    {
    cout<<"Enter n: ";
    cin>>n;
    cout<<"Enter string: ";
    gets(st);
    }
    void data::showdata()
    {
    cout<<"n: "<<n<<endl;
    puts(st);
    }
    void enter();
    void view();
    void main()
    {
    char ans;
    while(1)
    {
    clrscr();
    cout<<"1)New data\n2)View\n3)Exit";
    ans=getch();
    switch(ans)
    {
    case '1': enter(); break;
    case '2': view(); break;
    case '3':return;
    }
    }
    }
    void enter()
    {
    clrscr();
    data d;
    ofstream ofile;
    ofile.open("Data",ios::binary|ios::app);
    d.getdata();
    ofile.write((char*) &d,sizeof(data));
    ofile.close();
    }
    void view()
    {
    clrscr();
    data d;
    ifstream ifile;
    ifile.open("Data",ios::binary);
    while(ifile.read((char*) &d,sizeof(data)))
    {
    d.showdata();
    cout<<"\n\n";
    }
    getch();
    }



  2. #2

    نقل قول: مشکلی در مورد کار با فایل ها در C++‎

    چون توی کلاس اشاره گر داری نباید اینطور ذخیره کنی یعنی الان مثلا آدرس اشاره گر را ذخیره کردی بعد از بستن برنامه محتویات آدرس رزرو شده توسط برنامه از بین میره پس بعد از باز کردن چرت و پرت نشون میده
    پس بهتره که برای کلاس یه متد بنویسی که اون کلاس را ذخیره کنه یعنی مثلا داخل اشاره گر را منظورم
    رشتهه هست را ذخیره کنه و یک متد هم برای خواندن کلاس که محتویات اشاره گر را جاش بزاره . فکر کنم خیلی بد گفتم !!! (این متد ها عضو کلاسند !!!)

  3. #3

    نقل قول: مشکلی در مورد کار با فایل ها در C++‎

    THANK ALOT MY FRIEND

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •