PDA

View Full Version : مشکل در خواندن اطلاعات از فایل های بزرگ



mahdi bg
یک شنبه 15 خرداد 1390, 07:43 صبح
سلام
من 5000 تا رکورد از نوع ساختاری مثل student رو وارد فایل می کنم (داده ها رو تصادفی ایجاد میکنم


fstream file("input.txt",ios::out);
for(int i=0 ; i<5000;)
{

s[i].id = t;
strcpy(s[i].name,names[rand()%20]);
strcpy(s[i].family,names[rand()%20]);
s[i].avg = rand() %21;
file.write((char *)&s[i],sizeof(student));
i++;

}
file.close()


اما وقتی می خوام طالاعات رو بخونم تا 50 - 60 رکورد اول رو درست می خونه
بعدش همه اطلاعات تکراری میشه (توی ورود به فایل چک کردم 5000 تا عدد مختلف برای نمونه ها ایجاد میشه)
بعد از رکورد 50 - 60 امی که می خونه تمام خوندن ها از فایل یک نیجه داره
مثلا ای دی = 2 ، نام = " علی " ، فامیلی = " علوی " ، معدل = " 20"

اطلاعات رو اینطوری می خونم

fstream file1("input.txt",ios::in);
for(int i=0;i<5000;i++)
{
student w;
file1.read((char *)&w,sizeof(student));
cout<< "Id : " << w.id<<" " <<w.name<< " " << w.family<<" " << w.avg<<endl;
}
file1.close();

مشکل کجا می تونه باشه
ممکنه از حجم بالای فایل باشه (فایل تولیدی حدود 157 کلیو میشه)

ممنون