sklejanie "stringów" czy to takie proste?:)

0

Hiho
Jak skleić string typu char*? Jak mamy kod:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        char *Tekst;
        Tekst = "abc";
        ShowMessage(lstrcat(Tekst, " def"));
}

To za peirwszym razem wyskoczy tabliczka z poprawnym tekstem("abc def"), ale gdy kolejnym, razem klikniemy buttona bedzie to juz "abc defdef", a pozaniej jakies glupie znaczki zaczna dochodzic do lancucha znakow. Czego dudaj brakuje, aby za kazdym razem wyskakiwalo "abc def"?

0

Zamiast char *Text = "gdfgd" to char Text[] = "gdfgd"

0
        char *Tekst;
        Tekst = "abc";
        ShowMessage(lstrcat(Tekst, " def"));

Przecież pisałem ci, że musisz alokować pamięć przed taką operacją!
char *Tekst;
tutaj masz zdeklarowany wskaźnik, który jednak nigdzie nie wskazuje.
Oto wersja <ort>najprostrza </ort>(wiemy, że max dł. łańcucha = 7 + '\ 0').

char *tekst;
tekst = new char[8];
lstrcpy(tekst, "abc");
lstrcat(tekst, "def);
//użycie tekst
delete[] tekst;

1 użytkowników online, w tym zalogowanych: 0, gości: 1