Hallo zusammen,
heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt: Hallo, ich habe eine Funktion, die einen string nimmt, dieser möchte ich gerne einen wie folgt einen string übergeben:
char* str = "someText";
foobar ( str + "someOtherText" );
Leider funktioniert es nicht, wie mache ich das nun?
Unsere Antwort bzw. unser Lösungsvorschlag darauf war:C++ besitzt strings und der "+"-Operator ist für diese auch definiert. Leider aber sind weder ein char* noch ein String Literal vom Typ std::string. Der "+"-Operator funktioniert aber so nur wenn mindestens ein Operand vom Typ std::string ist. Das könnte dann wie folgt aussehen:
std::string str = "someText";
foobar ( str + "someOtherText" );
Im übrigen erzeugt der + operator ein neues string Objekt und liefert dies als Ergebnis zurück. Möchten Sie an einen bereits vorhanden String etwas anfügen, verwenden sie die .append() Methode oder den += operator.
Wir hoffen, vielen Besuchern der
MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Markus Klein
MSDN Hotline für MSDN Online Deutschland
Disclaimer:Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können. Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen sowie die allgemein gültigen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.