PDA

View Full Version : [C] Leggere matrice numeri da file .dat


salvodel
25-02-2008, 11:29
Buon giorno a tutti, questa è una domanda passata e ripassata ma tuttora non ho trovato una soluzione ottimale al mio problema. In sintesi devo leggere una matrice di dati da un file. Al momento faccio nel seguente modo:
if((fdati=fopen(stringa,"r"))==NULL)
printf("Impossibile aprire il file");
else
{
printf("Lettura dati in corso\n");
while(fscanf(fdati,"%le %le %le %le %le %le %le",&data->matrice[t][6],&data->matrice[t][0],&data->matrice[t][1],&data->matrice[t][2],&data->matrice[t][3],&data->matrice[t][4],&data->matrice[t][5])>0)
{
if(t>punti-1)
{
printf("\n");
break;
}
//printf(".");
t++;
}
}
fclose(fdati);
Il problema è che in questo modo non riesco a rendere parametrico il numero delle colonne. Come potrei fare per avere anche il numero di colonne parametrico?
Grazie a tutti.

mapomapo
26-02-2008, 11:54
non è più semplice dedicare 8bytes alla fine del file per due interi che memorizzino le dimensioni?

"matrice[t][6]"
se posso permettermi, una scrittura del genere non la utilizzerei mai...

Vito

salvodel
26-02-2008, 12:04
non è più semplice dedicare 8bytes alla fine del file per due interi che memorizzino le dimensioni?
Grazie per il consiglio ma purtroppo non posso modificare il file....se lo modificassi cosi farei prima a fare altre cose con Matlab.
"matrice[t][6]"
se posso permettermi, una scrittura del genere non la utilizzerei mai...

Vito

Scusa ma non ho capito il consiglio. Qual'è il problema di questa scrittura?

PS
Al momento ho risolto cosi la parametrizzazione delle colonne:
leggo tutti i dati in un vettore temporaneo. Successivamente creo la matrice cosi:
data->matrice[t][j]=tempread[i+t*colonne];
Ciao e grazie