Scusate l'intromissione ma ho una domanda molto simile e non vorrei aprire un nuovo post.
Nel caso in cui abbia bisogno di leggere da file una stringa che porrò in un array? Ovviamente a priori non so quanto sarà lunga la stringa, dunque serve malloc perchè non so quanto sarà grande l'array.
Il file ha una struttura del genere:
-2.5 nome1 nome2
-3 nome1 nome2
1.3 nome1 nome2
Se dichiaro un array statico il tutto è molto semplice:
struct tipo_dato
{
float dati.temp;
char dati.nome1[50];
char dati.nome2[50];
}
struct tipo_dato dati[365];
while (!(feof(f)))
{
fscanf(f, "%lf %s %s", &dati.temp, dati.nome1, dati.nome2);
}
Ma come faccio una corretta malloc su questa struttura? Non solo non conosco la lunghezza delle stringhe nome1 e nome2 ma non so quanti record di dati immagazzinerò...ho ipotizzato rispettivamente 50, 50 e 365 (essendo dati riferiti ai giorni dell'anno).
Avete qualche suggerimento?
Grazie
Daniele