[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