laczenie stringow

0

jak polaczyc 2 stringi w cbuilderze? pewnie to banalne pytanie ale wlasnie wczoraj przerzucilem sie na c++ z delphi.

w delphi robilo sie to przez: str1 := str2 + str3 ale tutaj wyskakuje mi cos o blednych operacjach na wskaznikach...

od razu drugie pytanie: jak przejsc w ShowMessage() do nowej linii? i znowu... w delphi wystarczylo dodac + #13 + ...

0

znam tylko troche c, ale:

ad1:
w c rozwiazalbym to tak:
[code]

#include <string.h> // potrzebny do uzycia funkcji strlen()
#include <stdlib.h> // --------------||----------- malloc()


int main(void)
{

    char str1[]="jakis string";
    char str2[]="jakis inny";
    char *pstr;

    int i=0;

    int ok=1;

    pstr=malloc(strlen(str1) + strlen(str2) + 1); // przyporzadkowanie odpowiedniej ilosci pamieci - dlugosc lancuchow + 1 na znak '\ 0' [bez spacji - zauwazylem problem z 4um]

    if(pstr!=NULL) // sprawdzenie, czy pstr nie jest pustym wskaznikiem
    {
        while(i<strlen(str1)) // kopiowanie 1 stringu
        {
            pstr[i]=str1[i];
            ++i;
        }
        while(i<strlen(str2)) // kopiowanie 2 stringu
        {
            pstr[i]=str2[i];
            ++i;
        }
        pstr[i]='\0'; // dodanie na koncu 'null znaku'
        ok=0; // program w c konczy prawidlowo dzialanie, gdy zwraca 0
    }

    return ok;
}


[/code]

niestety moga byc bledy... jak to zawsze u mnie ;p

ad2:
w lanuchu dodajesz '\n'
np:
"wiersz1\nwiersz2"

0

QmPL - to ma być w C++Builder, więc mamy już narzędzia do tego.

w delphi robilo sie to przez: str1 := str2 + str3 ale tutaj wyskakuje mi cos o blednych operacjach na wskaznikach...

Tu też tak można o ile zmienna jest typu AnsiString.

AnsiString a="abc", b="xyz", c;
c = a + b;

A jeśli masz zmienne typu char* to tak:

char *a="abc\0", *b="xyz\0", c[7];
strcpy(c, a);
strcat(c, b);

od razu drugie pytanie: jak przejsc w ShowMessage() do nowej linii? i znowu... w delphi wystarczylo dodac + #13 + ...

ShowMessage("linia pierwsza\na to linia druga");

0

ok, dzieki za pomoc. wolalem jednak delphi :)

//Błąd :-P - Marooned

0

QmPL - to ma być w C++Builder, więc mamy już narzędzia do tego.

domyslam sie ;]
to bylo dla mnie takie sprawdzenie umiejetnosci, a poza tym moglo sie przydac ;]

btw: c jest inne od delphi

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