>h2so5さん
ありがとうございます
コード:
#define TEST1 50
#define UMAX 110
#define VMAX 110
#define LMAX 6
typedef struct{
int Bnumber;
int Hmax;
int ang;
int Tur;
}BOX_t;
BOX_t BOX[UMAX][VMAX][LMAX];
FILE *fp;
int instantstates=0;
int instantEvNumber=0,instEvX=0,instEvY=0;
int instUmax[TEST1],instVmax[TEST1];
int Num=0;
int Mmax=2;
int Ha[UMAX][VMAX];
fp = fopen("Data.test","rb");
if(fp==NULL){
fclose( fp ) ;
return -1;
}
fread(&Mmax,sizeof(int),1,fp);
if(Num>Mmax){
fclose( fp ) ;
return -2;
}
for(int mp=0;mp<=Mmax;mp++)
{
fread(&instUmax[mp],sizeof(int),1,fp);
fread(&instVmax[mp],sizeof(int),1,fp);
}
for(int mp=0;mp<=Mmax;mp++)// ここはイコール入る。Mmaxは"ある"。
{
if(mp==Num){//
for(int i=0;i<UMAX;i++)// UMAXは"ない"。
for(int j=0;j<VMAX;j++){// VMAXは"ない"。
for(int lay=0;lay<LMAX;lay++)
{
BOX[i][j][lay].Bnumber=0;
}
Ha[i][j]=0;
}
Umax=instUmax[mp];
Vmax=instVmax[mp];
}
for(int i=0;i<=instUmax[mp];i++)// ここはイコール入る。instUmax[mp]は"ある"。
for(int j=0;j<=instVmax[mp];j++)// ここはイコール入る。instVmax[mp]は"ある"。
{
fread(&BOX[i][j][3].Hmax,sizeof(int),1,fp);
for(int lay=0;lay<LMAX;lay++)
{
fread(&BOX[i][j][lay].Bnumber,sizeof(int),1,fp);
fread(&BOX[i][j][lay].ang,sizeof(int),1,fp);
fread(&BOX[i][j][lay].Tur,sizeof(BOOL),1,fp);
}
fread(&Ha[i][j],sizeof(int),1,fp);
fread(&instantstates,sizeof(int),1,fp);
fread(&instantEvNumber,sizeof(int),1,fp);
fread(&instEvX,sizeof(int),1,fp);
fread(&instEvY,sizeof(int),1,fp);
fread(&instantstates,sizeof(int),1,fp);
}
if(mp==Num)goto END;
}
END:
fclose( fp ) ;
return 0;
一応こんなコードですが…