Ciao a tutti... Stavo risolvendo un problema in C quando sono incappato in questo problema.
Ho la necessità di allocare un vettore dinamico di tipo struct per memorizzarci internamente i contenuti di un file. Il file contiene su ogni riga una data nel formato gg/mm/aaaa.
La lettura del file e la memorizzazione dei dati avviene in una funzione.
Nella prima lettura del file leggo semplicemente il numero delle righe per poter poi allocare dinamicamente un vettore di tipo struct.
Nella seconda lettura memorizzo i dati nel vettore ma quando compilo mi da 3 errori di questo tipo:
"error: request for member ' ' in something not a structure or union"
riferiti al rigo evidenziato in grassetto...
Posto di seguito la porzione di codice per una maggiore chiarezza...
codice:
int Leggi(data**);
typedef struct Data{
int gg, m, a;
} data;
int main()
{
data *v;
int num;
num = Leggi(&v);
//Elaborazione del programma.......
return 0;
}
int Leggi(data** v)
{
FILE* pf;
int num=0, i=0;
char s[20];
//......Apertura del file per contare il numero delle righe (num)
*v = malloc (num*sizeof(data));
i=0;
while ((fscanf(pf, "%d %*c %d %*c %d", v[i].gg, v[i].m, v[i].a)) != EOF){
i++;
}
fclose(pf);
return num;
}