CString
-
Hi... ich hab mal eine vielleicht etwas dumme Frage :)... aber naja...
Wie konkateniere ich zwei CStrings? Geht das nur mit Append?
CString sReturn = pElement->Value(); sReturn.Append("_"); sReturn.Appen(pElement->Attribute("id"));
Das ist so umständlich gibt es nichts der Art
CString sReturn = pElement->Value() + "_" + pElement->Attribute("id");
Danke für Antworten
-
Klar geht das mit +.
Bekommst du eine Meldung? Welche?
Was gibt dir pElement->Attribute("id") zurück?
-
Die Variante mit dem + funktioniert nur, wenn mindestens ein CString in jedem (Teil)Ausdruck beteiligt ist. Wenn du versuchst, zwei char* auf diese Weise zu verknüpfen, bekommst du einen Fehler, weil Zeiger-Addition nicht erlaubt ist.
-
pElement->Attribute("id") gibt einen const char* zurück...
Der Fehler ist:
error C2110: '+': Zwei Zeiger können nicht addiert werdenGrüße
-
CStoll schrieb:
Die Variante mit dem + funktioniert nur, wenn mindestens ein CString in jedem (Teil)Ausdruck beteiligt ist. Wenn du versuchst, zwei char* auf diese Weise zu verknüpfen, bekommst du einen Fehler, weil Zeiger-Addition nicht erlaubt ist.
Ahh danke
-
Fazit:
CString sReturn(pElement->Value()); sReturn += "_"; sReturn += pElement->Attribute("id");
-
Dann geht auch:
CString sReturn = CString(pElement->Value()) + "_" + pElement->Attribute("id");
Nur CSTring kent +, für char* geht das eben nicht!