Facendo ulteriori riflessioni sono giunto ad un codice più o meno buono.
C'è però ancora un inconveniente fastidioso e riguarda lo spazio.
Considerando il file auto.txt composto da:
codice:
3
!Opel!Astra!18000.00!
!Fiat!Punto!13500.00!
!Alfa Romea!Brera!32000.00!
Ed il codice:
codice:
void load(char lista[][max_dim], int *dim)
{
FILE *fp;
int i, j;
fp=fopen("auto.txt", "r");
fscanf(fp, "%d", dim);
printf("%d", *dim);
for(i=0; i<*dim; i++)
{
fscanf(fp, "%s", &lista[i]);
}
fclose(fp);
for(i=0; i<*dim; i++)
{
printf("%s\n", lista[i]);
}
}
Il programma stampa:
codice:
!Opel!Astra!18000.00!
!Fiat!Punto!13500.00!
!Alfa
Premere un tasto per continuare . . .
Come posso risolvere l'errore annettendo all'array di stringhe anche il carattere di spazio?