spina ha scritto:perchè aprire il file, poi spostarsi in fondo e poi fare un ftell per sapere quanto è grande? c'è la funzione stat che ritorna le informazioni sul file, tra cui anche la dimensione in byte.
Non mi ricordo molto le funzioni del C per maneggiare i file. Forse usare ftell e fseek per ricavare le dimensioni di un file era l'esercizio per imparare ad usare le funzioni.
spina ha scritto:perchè leggersi un intero file in memoria per scandirlo carattere per carattere solo una volta? E se il file è grande 1GB, ci allochiamo 1GB di memoria?
Ma qui si puo fare un po' come si vuole, se ti fidi di come gestisce il disco il tuo disco e il tuo s.o. si puo' leggere carattere per carattere.
Altriementi puoi leggere tutto il file in un botto (
se serve e si puo', anche un 1GB), naturalemente se ti aspetti file da 4GB, lo si puo leggere a blocchi magari dei MB a volta ed elaborarli, ma non mi sembrava il caso di complicare troppo le cose in questo contesto.
Ma forse non ha neache senso fare questa cosa per un file piccolo e per quello che jimmy ha da fare.
