Ho provato con la tua soluzione. Ma il cast credo non vada a buon fine.

Il codice è questo:
codice:
fscanf(fp, "%d.", &val);
m = (double*)val;
ma m vale sempre zero, mentre val assume i valori giusti della matrice.