Δημοσιεύτηκε: 16 Μάιος 2009, 15:53
από thodoris_turtle
int load_record2(FILE *fptr,FILE *fptr2,char filename2[],char filename1[],products products1,parag parag1)
{
fptr=fopen(filename1,"rb+");
fptr2=fopen(filename2,"rb");


int rec_no;
int flag=0;
int flag2=0;
int position=0;



printf("Dose ton kodiko tis eggrafis pros provoli:");
scanf("%d",&rec_no);

fseek(fptr2,(rec_no-1)*sizeof(products1),SEEK_SET);

fseek(fptr,(rec_no-1)*sizeof(parag1),SEEK_SET);







printf("\n");
printf("\n");

while((fread(&products1,sizeof(products1),1,fptr2)==1)&&(flag==0))
{
position++;
if((products1.code_eidous==rec_no)&&(products1.flag==1))
{
flag=1;
printf("kodiko eidous: %d\n",products1.code_eidous);
printf("perigrafi: %s\n",products1.perigrafi);


printf("\n Dose tin posotita paraggelias:");
scanf("%d",&parag1.posotita);

printf("products1.timi_monados_polisis=%d\n",products1.timi_monados_polisis);

printf("parag1.posotita=%d\n",parag1.posotita);
printf("\n");

parag1.axia_paraggelias=(parag1.posotita)*(products1.timi_monados_polisis);
printf("parag1.axia_paraggelias=%d\n",parag1.axia_paraggelias);



while((fread(&parag1,sizeof(parag1),1,fptr)==1)&&(flag2==0))
{
if((parag1.code==rec_no)&&(parag1.flag==1))
{
flag2=1;
fwrite(&parag1,sizeof(parag1),1,fptr);
}
}


}







}








fclose(fptr2);

fclose(fptr);


if(flag==0)
return (0);
else
return (position);

}

δοκιμασα να βαλω ολους τους συνδηασμους(ab,rb+,wb) αλλα δεν γινετε κατι οσων αφορα για να ενημερωνετε το αρχειο fptr=fopen(filename1,"rb+");

edit post αμα βαλω την εντολη fwrite και δοκιμασω οποιονδηποτε συνδυασμο (ab,rb+,wb) το αρχειο parag.dat δεν περιεχει τπτ .

Εχω ψυλομπερδευτη :cry: :cry: :cry: :cry: :cry: :cry: