ho provato a mettere giù il codice, ma anzichè spostarmi indietro di un record alla volta (-sizeof(SRP)) mi sposto indietro di un record ed un byte alla volta... non ne capisco il motivo...
codice:fpi=fopen(NomeFilePagineTmp,"rwb"); fseek(fpi,-(long)(sizeof(SRP)),SEEK_END); do { fread(&SRP,sizeof(SRP),1,fpi); bCondizione=(memcmp(SRP.PrimaPaginaValore,"X",1)==0); if(bCondizione) { if(fseek(fpi,-(long)(2*(sizeof(SRP))),SEEK_CUR)==0) { fread(&SRP,sizeof(SRP),1,fpi); fseek(fpi,-(long)(sizeof(SRP)),SEEK_CUR); memcpy(SRP.UltimaPaginaValore,"X",1); fwrite(&SRP,sizeof(SRP),1,fpi); } } }while(fseek(fpi,-(long)(2*(sizeof(SRP))),SEEK_CUR)==0);

Rispondi quotando