Buongiorno a tutti.

Vorrei gentilmente domandare come leggere/scrivere dati double da/su file.

Ho provato il seguente codice:

codice:
#include "stdio.h"
#include <math.h>

int main()
{
	double a = 0.123456789;
	FILE* fid;

	fid = fopen("double.dat", "w");
	fprintf(fid, "%10lf\n", a);
	fclose(fid);

	return 0;
}
Quando lo faccio girare, trovo un file 'double.dat', il cui contenuto e' il seguente:

0.1234567

Ovvero, tratta la variabile a come se fosse un float piuttosto che un double. Dove sbaglio?
che cosa devo fare per scrivere tutte e 10 le cifre?


Grazie mille per l'aiuto.
Panecasareccio.