zwei werte in string zusammenfassen
-
Hi,
hab ein problem beim zusammenfassen zweier werte in einem string.
string x = typeid(S).name() + IntToStr(&matNr).c_str();er bleibt immer an dem + hängen, ich weiss aber nicht wie ich sonst das um zusammenfassen kann ausser über mehrere string variablen und diese dann zusammenfassen. Einzeln geht es aber anders halt ncith.
Bitte helft mir.
-
warum machste IntToStr(&matNr).c_str() ? lass doch einfach das .c_str() weg. da wandelst du doch den AnsiString in ein char* um. das kannste dann nich so "Addieren" wie AnsiStrings.
-
auch ohne das c_str() funktioniert es nicht.
er meckert immer nur an dem + rum ->
"Konvertierung von 'AnsiString' nach 'String' nicht möglich"
-
haste string in deinem Programm auch klein geschrieben? das muss schon groß denk' ich
-
typeid(...).name() gibt einen char-Pointer zurück. Also musst du das erst in (Ansi)String umwandeln:
String x = String(typeid(c).name()) + IntToStr(&matNr);
-
ich weiss auch ncith mehr weiter, so geht es auch nicht...
das komische ist das , dass
string x = " " + string(typeid(S).name()) + " " ;geht. Aber das
string x = " " + string(typeid(S).name()) + " " + IntToStr(matNr);nicht. Ich weiss das hier wieder string klein ist aber es hängt ja anscheint nicht daran..
Mitlerweile sagt er das, dass operator+ nicht für AnsiString wäre.
kann ich das IntToStr noch anders machen??
-
Hallo
also noch einmal : es gibt einen Unterschied zwischen string (std::string) und String (AnsiString). C++ ist case-sensitive!
IntToStr() liefert einen (Ansi)String. Die Umwandlung zwischen beiden Typen erfolgt mit .c_str().string x = " " + string(typeid(S).name()) + " " + IntToStr(matNr).c_str();bis bald
akari
-
Die Umwandlung zwischen beiden Typen erfolgt mit .c_str().
Mit .c_str() hast du jetzt aber erstmal einen const char*, den du dann noch entsprechend in den gewünschten Typ umwandeln musst. Also würde es dann heißen:
[cpp]string x = " " + string(typeid(S).name()) + " " + string(IntToStr(matNr).c_str());[/cpp]
So müsste es jedenfalls klappen.der oli
-
Hallo
@der Oli : Wenn du meinen Code mal ausprobiert hättest, hättest du gemerkt, das er sehr wohl funktioniert.
bis bald
akari