Il file è di testo vero?
Date le dimensioni del file la cosa si complica non poco....
La cosa più banale è creare un contatore e prima contare quanti caratteri ci sono, poi allocare la memoria e riempirla, facendo tipo:
Altrimenti ti crei dinamicamente un array di caratteri e man mano che lo vai a riempire controlli sempre che l'indici attuale superi la dimensione prefissata.... Quando ciò avviene, allochi un array più grande, copi il contenuto di quello vecchio in quello nuovo, cancelli quello vecchio e prosegui sempre in questo modo!codice:int count = 0, i = 0; char temp; char* v; while ((fscanf (f, "%c", &temp)) == 1) count++; rewind (f); v = (char*) malloc (count*sizeof(char)); while ((fscanf (f, "%c", &v[i])) == 1) i++;

Rispondi quotando