Salve a tutti. Devo leggere degli interi da file così composti:

1.2.3.4.
5.6.7.8.
1.2.3.4.
5.6.7.8.

La lettura da file è la seguente (e non da problemi senza il separatore):
codice:
void LeggiMatriceDaFile(double *m, int *dim)
{
    int i;
    FILE *fp;
    fp=fopen("file.txt", "r");
    for(i=0; i<*dim; i++){
        fscanf(fp, "%lf", m);
        m++;
    }
    fclose(fp);
}
Per provare a leggere quel tipo di file ho pensato di inserire nella fscanf la lettura di un carattere e di sovrascriverlo man mano.
codice:
void LeggiMatriceDaFile(double *m, int *dim)
{
    int i;
    char c;
    FILE *fp;
    fp=fopen("file.txt", "r");
    for(i=0; i<*dim; i++){
        fscanf(fp, "%lf%c", m, &c);
        m++;
    }
    fclose(fp);
}
Andando a provare però, noto che mi salta dei numeri e quindi ad un certo punto sballa completamente dando numeri a caso. Non riesco a comprendere il perché.

Qualcuno riesce a darmi una mano?