"CString" oder "CString*"
-
mir fehlt wiedermal etwas Grundwissen. Vielleicht kann einer von Euch das Problemchen lösen...
a) wenn man Parameter in Methoden übergeben möchte, wie geht man vor?
Übergibt man CString oder CString* ? Normalerweise sollte man ja Adressen übergeben.
Kann es sein daß CString genauso groß wie CString* ist (4 Bytes)???b) wenn man nun CString* übergibt, wie spricht man dann die Variable an?
z.B. mit AfxMessageBox(text[0]); ?Danke.
-
Es kommt immer auf die Funktion/Methode an. Wenn ein CString gefordert ist, dann musst du auch einen solchen angeben. Wenn die Funktion einen CString* will, dann übergibst du eben einen CString-Pointer. So läuft C++. Ich rate dir, dir mal ein C++-Tutorial durchzulesen, z.B. Volkards C++-Kurs.
Zu b)
void MyFunction(CString* str) { CString c_string = *str; // Jetzt steht alles in c_string. }
-
Original erstellt von <Fragender>:
a) wenn man Parameter in Methoden übergeben möchte, wie geht man vor?
Übergibt man CString oder CString ? Normalerweise sollte man ja Adressen übergeben.
Kann es sein daß CString genauso groß wie CString ist (4 Bytes)???
**Am besten CString*(Zeiger)!
Original erstellt von <Fragender>:
*b) wenn man nun CString übergibt, wie spricht man dann die Variable an?
z.B. mit AfxMessageBox(text[0]); ?
**Am einfachsten in der Funktion z.B. void Funktion(CString* strText)
Dann kannst du einfach mit strText->Funktion_Deiner_Wahl();
darauf zugreifen!
-
Danke,
ich sollte mal wirklich ein Tutorial lesen...
-
muss man beim Funktions aufruf nicht auch den Adress Operator & nutzen ??
void MyFunction(CString* str) { CString c_string = *str; // Jetzt steht alles in c_string. } CString Test= "HALLO"; MyFunction(&TEST);
Bitte verbessern wenn ich mich Täusche...
-
Richtig.