grazie per la risposta!
io utilizzo visual studio 2003...

quello che ho messo è solo il file header contenente la struttura.
la fwrite la faccio su un file bmp esistente per modificarne l'estenzione attraverso questa struttura...

e appunto: le 2 strutture se contate sono di 14 byte e 40 byte, in totale 54 e si trova con gli standard dei bmp.

ma se cerco di fare una fwrite x riscrivere i 2 record in questo modo:
codice:
BITMAPFILEHEADER header;
BITMAPINFOHEADER info_header;
.
.
.

fwrite(header, sizeof(BITMAPFILEHEADER), 1, fp);
fwrite(info_header, sizeof(BITMAPINFOHEADER), 1, fp);
mi da un errore di run-time sulla prima fwrite.
ho notato che la prima sizeof, invece di darmi 14, da 16... nn capisco proprio il perché... ma anche se metto 14 al posto della sizeof nella fwrite mi da lo stesso errore...

altra cosa strana: se faccio una fwrite per ogni campo, utilizzando sizeof, FUNIZONA!
non mi era mai capitata una cosa del genere...

spero di essermi espresso con chiarezza!
grazie! ciaooo