PDA

View Full Version : براي انتقال داده به حافظه ي چه كار كنم؟



sajadpourhosein
پنج شنبه 12 شهریور 1388, 05:29 صبح
سلام
من مي خواستم اطلاعات رو از يه فايل بخونم و طبق دادههاي فايل يك ليست پيوندي ايجاد كنم كد زير رو نوشتم البته خيلي هست فقط اين متد رو نميدونم چطوري بنويسم.ميخوام كه داده st.name رو بريزم داخل newpointer->name ولي هركاري ميكنم نميشه. كد زير هستش:خطا ميده.
در C++‎.


void linklist::loading(){
student st;//this is struct
ifstream file("student.dat",ios::out | ios::binary);
if(!file)
cout<<"cannot open file";
while(file.read((char *)&st,sizeof(struct student))){;
node *newpointer=new node;
newpointer->next=NULL;
newpointer->name="اينجا چي بنويسم";
}
file.close();
}

afi_program
پنج شنبه 12 شهریور 1388, 13:07 عصر
چه خطایی میده؟
همون st.name باید باشه.

Nima_NF
پنج شنبه 12 شهریور 1388, 14:55 عصر
برای کپی کردن رشته اگر مستقیم نمی نویسید باید به شکل زیر بنویسید و از مساوی استفاده نکنید (حتما هر دو باید به اندازه تعداد کارکترها، حافظه مورد نیاز را داشته باشند):



#include <string.h>

strcpy(newpointer->name, st.name);

// or

strcpy(newpointer->name, "my text");