Ciao a tutti!

Spero possiate essermi d'aiuto. Sto facendo un progetto dove devo costruire un database. Praticamente ho una funzione chiamata CreateDatabaseFile() che deve creare un file di database. Questo file va aperto in modalità binaria e fin qui nessun problema. Il problema sta nella scrittura dell'header che è una struttura definita così:

codice:
	
typedef struct {
	
	FILE	*fp;		//!< File pointer del database aperto
	char	Name[DBF_NAME_LENGTH+1];	//!< Nome del database escluso estensione
	int		NumFields;	//!< Numero dei campi del database
	long	NumRecs;	//!< Numero totale di records nel database
	int		HeaderLen;	//!< Lunghezza dell'Header
	int		RecordLen;	//!< Lunghezza di un record del database
	long	CurrentRec;	//!< Numero del record corrente 
	time_t	LastUpdate;	//!< Data e ora ultimo aggiornamento (Julian date)
	
} DBF_INFO_t;
Secondo le specifiche e' consigliaro creare un buffer dove serializzare tutti i campi necessari per poi scrivere tutto il buffer su file. Ecco questo punto mi riesce difficile, perché un buffer dovrebbe essere rappresentato da un array, ma l'array come fa a memorizzare tutti questi tipi di dato diversi?

Grazie.