String zusammensetzen
-
Hallo!
Ich möchte einen String aus einem anderen String und einer Zahl zusammensetzen. Leider funktioniert folgende (für mich intuitive) Zuweisung nicht:
counter = 1; CString pl = "PlanePlane"+counter;Das liefert leider
pl = "lanePlane"Was ist falsch, wie mache ich es richtig?
-
C++ hat keine automatische Umwandlung von Zahlen in Strings. Im Gegenteil - String-Literale gelten als char-Pointer und deine Addition wird in Pointer-Arithmetik umgewandelt.
Also kannst du entweder die Standard-Variante verwenden, den String über Stringstreams zusammenzusetzen - oder (da du CString erwähnt hast) du nutzt Format():
//Variante a: stringstream conv; conv<<"PlaneLane"<<counter; string pl = conv.str(); //Variante b: CString pl; pl.Format("PlaneLane%i",counter);
-
Moin!
Muss ich bei Variante 1 noch etwas includieren? Er kennt stringstream nicht...
-
raterchen schrieb:
Moin!
Muss ich bei Variante 1 noch etwas includieren? Er kennt stringstream nicht...
#include <sstream>