fwd: info liste
[email protected] Mon, 7 Mar 2005 15:19:42 +0100
| Newsgroups | gmane.comp.security.italian.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============0334773698==
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Tolta sezione in html:
http://www.expita.com/nomime.html
Configuring Mail Clients to Send Plain ASCII Text
thnx
Koba (moderatore)
----- Forwarded message from Antonio s4tan Parata <s4tan(at)ictsc.it> -----
From: Antonio s4tan Parata <s4tan(at)ictsc.it>
Subject: info liste
Salve a tutti,
ho un grosso problema che proprio non riesco a risolvere. Sto' scrivendo un programma in C (premetto che non sono un drago in C, anzi) che fa uso delle liste. Inizialmente ho dichiarato la seguente struttura e variabile globale:
/* ------------ Codice -----------------*/
struct nodo_libro {
char *titolo;
struct nodo_libro *next;
};
typedef struct nodo_libro lista_libri;
typedef lista_libri *ptr_lista_libri;
/* Variabili Globali */
ptr_lista_libri root_libri = NULL;
/* ------------ Fine Codice ------------*/
in seguito o creato la seguente funzione che inserisce un nuovo elemento nella lista, usando la variabile globale:
/* ------------ Codice -----------------*/
void inserisci_libro (void) {
char titolo[8000];
ptr_lista_libri new_libro, prec_libro, curr_libro; // tre nuovi puntatori lista
fflush(stdin);
printf("Inserisci il nome del libro: ");
scanf("%s",titolo);
new_libro = (ptr_lista_libri) malloc (sizeof(lista_libri));
if (new_libro != NULL) { // creo il nuovo elemento della lista
new_libro->titolo = titolo;
new_libro->next = NULL;
if (root_libri == NULL) { // controllo la var globale per vedere se la lista ? vuota
root_libri = new_libro;
}
else { // la lista contiene qualche elemento
curr_libro = root_libri;
while (curr_libro!=NULL) { // scandisco tutta la lista fino alla fine
prec_libro = curr_libro;
curr_libro = curr_libro->next;
}
prec_libro->next = new_libro; // aggiungo l'elemento finale
}
}
/* ------------ Fine Codice ------------*/
Il problema ? che se vado a stampare la lista (in particolare il titolo) mi succede la seguente cosa, visualizza un numero corretto di elementi (ovvero se ho inserito 3 elementi ho tre visualizzazioni), ma il titolo che mi visualizza e' sempre l'ultimo che ho inserito (quindi se ho inserito i titoli A,B e C, mi visualizza per 3 volte C).
Qualcuno puo' risolvere questo mio irritante problema???
Grazie mille,
s4tan
P.S.
Il ciclo che stampa gli elementi e' simile a ciclo che uso per scandire l'intera lista
----- End forwarded message -----
--===============0334773698==
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List
--===============0334773698==--