Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++, WinAPI] Konkatenacja dwóch tekstów

Ostatnio zmodyfikowano 2012-12-05 10:38
Autor Wiadomość
berkov
Temat założony przez niniejszego użytkownika
» 2012-12-05 00:13:25
Ja jednak jestem strasznie uparty i chce uzyc LPSTR.
choc by po to by zrozumiec sam "princip".

Czy da sie uzyc ta funkcje z LPSTR jako "a" tak jak jest to opisane?
P-70359
krzyk
» 2012-12-05 08:01:13
@berkov:
Ja jednak jestem strasznie uparty i chce uzyc LPSTR.
To jest to samo co char*.

C/C++
LPSTR a =( LPSTR ) GlobalAlloc( GPTR, 100 );
strcpy( a, "ala" ); // wypelniasz

LPSTR b = "bbb";

LPSTR Wyn = lstrcat( a, b );


@Admixior:
char* ab="abc";    // cudzysłów zwraca wartość const char* więc nie możesz jej edytować bo inaczej skraszuje progs
Tej pamięci niemożna tylko usunąć i realokować.
P-70363
berkov
Temat założony przez niniejszego użytkownika
» 2012-12-05 10:27:54
Hey


Dzieki krzyk teraz juz rozumiem, sorry jakos ominalem twoj wczesniejszy wpis o "nadpisaniu" alokacji dynamicznej przez statyczne nadanie a = ....; nie wiedzialem ze tak to dziala, myslalem ze dlugosc zostanie taka jak nadalem dynamicznie.

Ostatnie pytanie, czy w w C++ naprawde nie istnieje "prosty" sposob dodania dwoch stringow?
chodzi o MessageBox (0, "wynik to " + x, 0,0); gdzie x to string.
Naprawde trzeba uzywac funkcji by zlaczyc string??
P-70365
krzyk
» 2012-12-05 10:38:27
Polecam std::string:)
C/C++
std::string a( "ala" );
std::string b( "bbb" );

a += b;

MessageBox( NULL, a.c_str(), "Wow.", MB_ICONINFORMATION );

//EDIT
chodzi o MessageBox (0, "wynik to " + x, 0,0); gdzie x to string.
Możesz zrobić nakładke na MessageBox
C/C++
int MsgBox( std::string Text, std::string Caption = std::string( "" ), int Type = 0 )
{
    return MessageBox( NULL, Text.c_str(), Caption.c_str(), Type );
}

//uzycie
std::string x;
x = "tada";

MsgBox( "Wynik to " + x + " hehe" );
P-70367
1 « 2 »
Poprzednia strona Strona 2 z 2