Ciao a tutti, vorrei sapere se c'è un modo per leggere l'interno contenuto di un file all'interno di una stringa senza sprechi di memoria o riallocazioni continue di questa.
ciao
Ciao a tutti, vorrei sapere se c'è un modo per leggere l'interno contenuto di un file all'interno di una stringa senza sprechi di memoria o riallocazioni continue di questa.
ciao
eXtending-Php.net coming soon ...
Puoi guardare quanti byte è grosso il file (ti sposti all'ultimo carattere e guardi a che posizione ti trovi), quindi crei un array di char grosso la dimensione del file e ci sputi dentro tutto leggendo carattere per carattere.Originariamente inviato da Dark Bard
Ciao a tutti, vorrei sapere se c'è un modo per leggere l'interno contenuto di un file all'interno di una stringa senza sprechi di memoria o riallocazioni continue di questa.
ciao
Ricorda che l'ultimo carattere che leggerai vale -1, e' solo un carattere oltre la fine del file, scartalo.
![]()
Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00
codice:#include <stdio.h> int main() { FILE *p; char *s; long i = 0; /* apro il file in lettura (binaria) */ p = fopen("miofile.txt", "rb"); /* mi posiziono alla fine del file */ fseek(p, 0, SEEK_END); /* assegno ad 'i' la grandezza in byte del file */ i = ftell(p); /* alloco alla stringa 's' la grandezza del file */ s = (char*) malloc(i * sizeof(char)); /* mi posiziono all'inizio del file */ fseek(p, 0, SEEK_SET); /* inserisco in 's' il contenuto del file */ fread(s, i * sizeof(char), 1, p); /* chiudo lo stream con il file */ fclose(p); return 0; }
...Terrible warlords, good warlords, and an english song
e se volessi mettere ogni riga del file in una lista ???
come si puo' fare ???
PoWered by:
Gentoo 1.5.3 - Kernel 2.6.7
Debian Sid - Kernel 2.6.7 - Bash 3.0
Slackware current - Kernel 2.6.7