Grazie mille per la celere risposta.
Ho controllato e i permessi ce li ho sia in lettura che in scrittura, quindi non credo sia quello il problema.
Posto qui di seguito il codice:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
char nomeFile[15];
double dato, *arrayDouble;
FILE *fin;
int lung=0, i;//la variabile lung è un contatore che contera quanti dati sono stati letti dal file per poter poi allocare dinamicamente la memoria del vettore
printf("inserire il nome del file:\n");
scanf("%s", nomeFile);
if((fin=fopen(nomeFile, "r"))==NULL)
printf("il file non può essere aperto in lettura\n");
else
{
while(!feof(fin))//finche non è stato raggiunto l'indicatore di fine file...
{
fscanf(fin, "%lf", &dato);
lung++;
}
}
arrayDouble=malloc(lung*sizeof(double));
if(arrayDouble==NULL)
printf("problemi in allocazione\n");
else
{
rewind(fin);//fa tornare il cursore nel file all'inizio in modo da essere sicuri che la lettura avvenga dall'inizio dello stesso..
for(i=0;i<lung;i++)
fscanf(fin,"%lf", &arrayDouble);
fclose(fin);//chiusura file..
}
printf("il file e l'array contengono i seguenti %d elementi:\n", lung);
if(arrayDouble)
for(i=0;i<lung;i++)
printf("%g\n", arrayDouble);//con la notazione %g Viene usata la forma più breve fra quella ottenuta con %f e quella ottenuta con %e
return 0;
}