>>318
手元の環境で実行できないから自信ないけど、

int i;
unsigned char *p;
p = ( unsinged char* ) &hdr.hoge;
for( i = sizeof(int) ; i != 0; i-- )
  printf( "%02x", p[ i - 1 ] );

って1ヘッダ要素づつファイルに書き込んだらどうかな?