PDA

View Full Version : سوال: آیا تابع های save و load درست نوشته شده اند ؟؟؟



giootin_tiz
چهارشنبه 29 اردیبهشت 1389, 22:22 عصر
من این تابع ها رو نوشتم ولی نه ذخیره میکنه نه بارگیری آیا اشتباه نوشتخ شده اند؟



void save(void)
{
FILE *fp ;
register int i ;
fp = fopen("project", "wb");
if(!fp) {
printf("\n file baz nemishvad kelidi ra baraye edame bazanid...");
getch() ;
clrscr();
return ;
}
for(i = 0 ; i < MAX ; i++)
if(*st[i].name)
fwrite(&st[i], sizeof(struct student), 1, fp) ;
clrscr() ;
gotoxy(20, 10) ;
printf("zakhire shod!!!. kelidi ra baraye edame bazanid.");
getch() ;
clrscr();
}
void load(void){
FILE *fp ;
register int i ;
fp = fopen("project", "rb");
if(!fp) {
printf("\n file baz nemishvad kelidi ra baraye edame bazanid...");
getch() ;
clrscr();
return ;
}
for(i = 0 ; i < MAX; i++) {
fread(&st[i], sizeof(struct student), 1, fp);
if(feof(fp)) {
clrscr() ;
gotoxy(20,10) ;
printf("etelaat bar gozari shod!!!! kelidi ra baraye edame bazanid ");
getch() ;
clrscr();
return ;
}
}
}

tdkhakpur
چهارشنبه 29 اردیبهشت 1389, 23:05 عصر
باز شدن فایل را به + ختم کنید تا اشاره گر فایل به بعدی مراجعه کند.


fopen("project", "wb+");
fopen("project", "rb+");

در ضمن انتهای هر دو تابع کد زیر را اضافه کنید تا بتواندی توسط تابه load داده ها را استخراج کنید.


fclose(fp);

نکته : در حالت کلی اگر برای شبکه برنامه مینویسید باید خواندن را بصورت اشتراکی باز کنید.

giootin_tiz
چهارشنبه 29 اردیبهشت 1389, 23:30 عصر
من این کد ها رو زدم ولی هنوز ذخیره نمیکنه ///
آدرس درایو هم باید میدادم یا نه ؟
باید زیر تمام تابع هام save رو بذارم یا نه ؟
کد من رو که قبلا آقای خاکپور دیده بودند که با gotoxy مشکل داشتم

tdkhakpur
پنج شنبه 30 اردیبهشت 1389, 16:25 عصر
من این کد ها رو زدم ولی هنوز ذخیره نمیکنه ///

به نظر که درسته ولی قسمت main را نگذاشتید شاید مشکل از اونجا باشد.به هر صورت یک بار برنامه را trace کنید راحتتر به نتیجه خواهید رسید.

آدرس درایو هم باید میدادم یا نه ؟
نه در حالتی که شما فعلا در نظر گرفته اید مسیر جاری مورد نظر هر دو تابع load و save قرار میگیرد.

باید زیر تمام تابع هام save رو بذارم یا نه ؟
نه خب بستگی به تحلیل شما دارد که چه زمانی احتیاج به ذخیره سازی دارید.