[Pluto-help] Come leggere un file in C
Germano Rizzo
manomano a ciaoweb.it
Mar 24 Apr 2001 22:17:53 CEST
Ciao!
ora, ho un problema (beh, sennò non scrivevo). Ho un puntatore a un file
in cui è contenuto del testo ASCII, di cui non so e non ho modo di sapere la
dimensione. Il fatto è che è un descrittore di pipe, quindi non proprio un
file. Bene, ho la necessità di portare questo pari pari in una stringa
(cioè, il solito array di char), e non so come fare. Finora ho fatto (notare
che è un programma che usa le glib)
...
gchar tk[2];
gchar *content="";
FILE *tmp;
...
tmp=popen(command,"r");
...
while(fread(&tk,1,1,tmp))
{
tk[2]='\0';
g_strconcat(content,tk,NULL);
}
...
pclose(tmp);
...
Sorvolo i dettagli di questo pezzo, che funziona, ma ha lo sgradevole
difetto di occupare senza rilasciarli una mezza dozzina di mega (non so
come, pare incredibile) e mi fa quindi sospettare che la strada non sia
proprio questa.
Qualcuno mi può aiutare? Forse la domanda pare cretina, ma sono
autodidatta in C, e non trovo nulla da nessuna parte. E non posso usare
fread() con valori maggiori di 1 perché non so la lunghezza massima, e mi si
incasina tutto!
AIUTO!
Mano :)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Questa non è una lettera da mettere da
parte con leggerezza.Bisogna scagliarla
via con grande forza.
--Dorothy Parker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Germano Rizzo - manomano a ciaoweb.it
http://mano.interfree.it
http://www.bdp.it/~veee0001/
http://gnomermind.sourceforgenet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the pluto-help
mailing list