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

نام تاپیک: مشکل با تابع seekg()

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار vasilopita
    تاریخ عضویت
    آبان 1388
    محل زندگی
    Dezfoul
    پست
    253

    Thumbs up مشکل با تابع seekg()

    سلام من با تابع seekg مشکل دارم یعنی اینکه وقتی توی این تابع به یه شی اشاره میکنم و وقتی از تابع read استفاده می کنم اون شی مورد نظر برنمی گرده و همیشه آخرین شی که وارد شده رو بر می گردونه این سورس برنامه هستش:
    #include<iostream>
    #include<fstream>
    #include<conio.h>
    #include<stdio.h>
    using namespace std;
    struct student
    {
    char name[21];
    int number;
    float mark;
    bool state;
    student()
    {
    state=0;
    }
    };
    void main()
    {
    int n;
    cout<<"N ?\n";
    cin>>n;
    student stu1,stu;
    ofstream out("test.dat");
    ifstream in("test.dat");
    for(int i=1;i<=n;i++)
    {
    cout<<"Name: ";
    cin>>stu1.name;
    cout<<"Number: ";
    cin>>stu1.number;
    cout<<"Mark: ";
    cin>>stu1.mark;
    stu1.state=0;
    out.seekp(sizeof(struct student)*stu1.number,ios::beg);
    out.write((char*)&stu1,sizeof(struct student));
    out.close();
    }
    cout<<"Enter The Student Number To see The Details\a\n";
    cin>>n;
    in.seekg(sizeof(struct student)*n,ios::beg);
    in.read((char*)&stu1,sizeof(struct student));
    cout<<stu1.name<<" "<<stu1.mark<<" "<<stu1.number<<"\n";
    in.close();
    }


    وقتی برنامه رو اجرا می کنم همچین نتیجه ای می ده:
    ضمیمه 68979
    این در صورتی که شماره 2 متعلق به علیه ولی این رضا رو نشون می ده
    آخرین ویرایش به وسیله vasilopita : پنج شنبه 01 اردیبهشت 1390 در 12:43 عصر

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

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