Re: fwd: info liste
Flavio Visentin <[email protected]> Tue, 08 Mar 2005 10:30:58 +0100
| Newsgroups | gmane.comp.security.italian.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============1266761491==
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> if (new_libro !=3D NULL) { // creo il nuovo elemento della lista
> new_libro->titolo =3D titolo;
> new_libro->next =3D 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 c=
he mi visualizza e' sempre l'ultimo che ho inserito (quindi se ho inserit=
o 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 =E8 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=3D
=3DK2LW
-----END PGP SIGNATURE-----
--===============1266761491==
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
--===============1266761491==--