typedef struct{
unsigned short bfType;
unsigned long bfSize;
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned long bfOffBits;
}BITMAPFILEHEADER;

sizeof(BITMAPFILEHEADER)が16になってしまい
fwrite((void*)&bmf,sizeof(BITMAPFILEHEADER),1,fp);
などで読み書きすると、うまくいきません

スマートに処理させるにはどうしたらいいでしょうか