int main(void)
{
FILE *file;
long buf;
unsigned char buf1[40];
unsigned char buf2;
short buf3;
double buf4;
short n;
file=fopen("ファイル名"."rb");
fread(&buf,sizeof(long),1,file);
printf("図面%0x\n",buf);
fread(&buf2,sizeof(char),1,file);
printf("ファイル%0x\n",buf2);
fread(&buf2,sizeof(char),1,file);
fread(&buf3,sizeof(short),1,file);
printf("ver%0x\n",buf3);
fread(&n,sizeof(short),1,file);
printf("要素数%0x\n",n);
fread(&buf3,sizeof(short),1,file);
printf("type%0x\n",buf3);
fread(&buf4,sizeof(double),1,file);
printf("始点x%7.3f\n",buf4);
fread(&buf4,sizeof(double),1,file);
printf("始点y%7.3f\n",buf4);
fread(&buf4,sizeof(double),1,file);
printf("終点x%7.3f\n",buf4);
fread(&buf4,sizeof(double),1,file);
printf("終点y%7.3f\n",buf4);
fread(buf1,sizeof(char),32,file);
fread(&buf3,sizeof(short),1,file);
printf("最大%0x\n",buf3);
fclose(file);
return 0;
}
これを構造体を使って書き直すとどうなるのでしょうか?
私の考えは・・
typedef struct{
long num;
char fl;
char res;
short ver;
short no;
short type;
double d[4];
char res2[32];
short resc;
}pftest;
int main(void)
{
FILE *file;
pftest ts;
file=fopen("ファイル名","rb");
fread(&ts,sizeof(ts),1,file);
printf("図面%0x\n",ts.num);
printf("ファイル%0x\n",ts.fl);
printf("ver%0x\n",ts.ver);
printf("要素数%0x\n",ts.no);
printf("type:%0x\n",ts.type);
printf("始点X%7.3f\n",ts.d[0]);
printf("始点Y%7.3f\n",ts.d[1]);
printf("終点X%7.3f\n",ts.d[2]);
printf("終点Y%7.3f\n",ts.d[3]);
prtinf("max%0x\n",ts.rec);
fclose(file);
return 0;
}
としてみたのですがエラーはでませんが正常に動きません。問題が発生した為にこのプログラムを終了します とでます。
どうすればいいのでしょうか