[bglug] R: C++ e lista
Ivo Leidi
ivo.leidi@topgraf.it
Gio 15 Gen 2009 09:33:10 CET
Questo è un po' C e un po' poco C++, ma dovrebbe andare...
Ivo
int SerializzaLista( LISTA *head, char *outfile )
{
FILE *out;
if ( out=fopen(outfile,"w") )
{
LISTA *item;
for (item = head ; item ; )
{
LISTA *temp;
fwrite(out, item, sizeof(LISTA));
temp= item;
item = item->next;
delete temp;
}
fclose(out);
return 1;
}
else
{
perror(outfile);
return 0;
}
}
-----Messaggio originale-----
Da: bglug-bounces+ivo.leidi=topgraf.it@lists.linux.it
[mailto:bglug-bounces+ivo.leidi=topgraf.it@lists.linux.it] Per conto di
Roberto Santini
Inviato: giovedì 15 gennaio 2009 9.07
A: bglug@lists.linux.it
Oggetto: Re: [bglug] C++ e lista
----- Segue Messaggio Originale -----
Da : Flavio Castelli <flavio@castelli.name>
A : bglug@lists.linux.it
oggetto : Re: [bglug] C++ e lista
Data : Thu, 15 Jan 2009 08:53:33 +0100
> On Thu, Jan 15, 2009 at 07:56, Roberto Santini
> <roberto.santini@lasfidacontinua.it> wrote:
> > In poche parole, ho lista piena e file (che rispecchia
> > la lista) vuoto.
> > Sapete aiutarmi?
>
> Devi cancellare gli elementi della lista uno alla volta:
> 0) open file in scrittura (non in append)
> 1) prendo HEAD
> 2) lo salvo su file
> 3) faccio puntare una variabile temp all'area di memoria a
> cui punta HEAD 4) HEAD = next
> 5) delete temp
> 6) goto 1 unitl next == NULL
> 7) close file
>
Questo quello che avevo scritto:
while (testaListaEntrate!=NULL){
current=testaListaEntrate;
testaListaEntrate=current->next;
delete current;
testaListaEntrate=testaListaEntrate->next;
}
Così però mi cancella tutti gli elementi tranne
l'ultimo; se provo, nel while, a mettere
testaListaEntrate->next!=NULL, esce la simpatica finestra
di errore...
-------------------------------------------------------------------
Roberto Santini
www.lasfidacontinua.it
MSN: roberto.santini@lasfidacontinua.it
Skype: cent89
--
Sito BgLUG: http://www.bglug.it
Mailing list: http://www.bglug.it/list/bglug
BgLUG-biz!: http://www.bglug.it/list/bglug-biz
__________ Information from ESET NOD32 Antivirus, version of virus signature
database 3767 (20090115) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
Maggiori informazioni sulla lista
bglug