[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: devel@sikurezza.org
Soggetto: Re: [devel] fwd: info liste
Mittente: Flavio Visentin
Data: Tue,  8 Mar 2005 10:30:33 +0100 (CET)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

>     if (new_libro != NULL) { // creo il nuovo elemento della lista
>         new_libro->titolo = titolo;
>         new_libro->next = NULL;
> 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).

Non conosco il C, ma ad occhio e croce direi che l'errore consiste
nell'assegnazione del titolo.
La variabile titolo è un puntatore ad un buffer definito come
*char[8000], quindi non rappresenta la stringa ma il puntatore alla
stringa.
Quando tu lo assegni come hai fatto dici che il puntatore
new_libro->titolo punta alla stessa location di titolo, quindi agli
stessi dati.
Per copiare la stringa devi allocare un nuovo buffer e copiarvi dentro
i contenuti del primo, cosa che fai con le funzioni base del C (se non
erro strcpy?).

Ripeto che non ricordo quasi niente di C (sono 12 anni che non lo
uso), ma questo mi sembra faccia parte di quelle regole di base
sull'uso di stringhe e puntatori che non si scordano facilmente.

Ciao

- --
Flavio Visentin

|                     \|||/
|                    @/0.0\@
|                     \ - /
+------------------oOOo---oOOo------------------

There are only 10 types of people in this world:
those who understand binary, and those who don't.

GPG Key: http://www.zipman.it/gpgkey.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCLXDSusUmHkh1cnoRAk33AKCGgacM1R9DG5j87M8qw7poCPJr+wCghgdR
8c63pdo7YVTiT8/lfAyFGNw=
=K2LW
-----END PGP SIGNATURE-----




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005