[ LUGOS ] char* + char*
Metod Kozelj
metod.kozelj na rzs-hm.si
Pon Feb 2 12:44:18 CET 1998
Howdy!
On Sun, 1 Feb 1998, polz wrote:
> Nasel sem napako ..
> Nekje v programu, pred sestevanjem stringov, sem imel nekaj takega:
>
> p = "blabla\n juhuhuhu";
>
> To je povzrocilo, da je compiler alociral char[n] namesto char*, kar pa je
> potem sesulo program( za dodajanje ni bilo prostora).
V resnici je bilo se malo drugace: zgornji stavek p-ju priredi NASLOV
konstantnega niza, za katerega prevajalnik alocira le tocno doloceno
kolicino pomnilnika. Ce si morda kje naprej naredil
strcat (p, "My new string");
je funkcija poizkusala dodati novi niz k staremu KONSTANTNEMU nizu (kar
seveda ne gre).
Torej bi bila tvoja vrstica
p = "blabla\n juhuhuhu";
pravilno zapisana
strcpy (p, "blabla\n juhuhuhu");
(prej pa moras seveda alocirati pomnilnik za p).
Peace!
Mkx
Dodatne informacije o seznamu Starilist