[C++, WinAPI] Konkatenacja dwóch tekstów
Ostatnio zmodyfikowano 2012-12-05 10:38
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?
|
|
krzyk |
» 2012-12-05 08:01:13 @berkov:
Ja jednak jestem strasznie uparty i chce uzyc LPSTR.
|
To jest to samo co char*.
LPSTR a =( LPSTR ) GlobalAlloc( GPTR, 100 ); strcpy( a, "ala" );
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ć.
|
|
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?? |
|
krzyk |
» 2012-12-05 10:38:27 Polecam std::string:)
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
int MsgBox( std::string Text, std::string Caption = std::string( "" ), int Type = 0 ) { return MessageBox( NULL, Text.c_str(), Caption.c_str(), Type ); }
std::string x; x = "tada";
MsgBox( "Wynik to " + x + " hehe" );
|
|
1 « 2 » |