Stringgeplänkel Chararrays und Integers in einen String bringen

D3stroyer

Grünschnabel
Hi, ich habe folgendes problem:

Code:
log = itoa(uiPoA,log)+ " Angriffspunkte gegen " + itoa(enemy.Defense()) + " Verteidigungspunkte";

Also das ganze scheint nicht zu funktionieren, aber damit ihr mir helfen könnt geb ich euch erstma en paar infos:
log ist ein string.
uiPoA ist unsigned integer.
enemy.Defense() gibt unsigned integer zurück.

Jetzt zu meinem Prob: Ich versuche diese ganzen Daten unter einen string zu bringen und bin schier am verzweifeln, kenne mich noch nicht so gut mit c++ aus und daher würde ich um eure hilfe bitten. Also ka weiss echt nimmer wie ich das machen soll.

MFG D3stroyer
 
moin


Also erstmal benutzt du itoa falsch, dann solltest du die itos-Funktionen vor dem log = .... verwenden.
Wie macht sich das bemerkbar das es nicht funktioniert? Gibt es Fehlermeldungen, wenn ja welche?


mfg
umbrasaxum
 
Also die Fehlermeldung ist:
cannot convert `std::string' to `char*' for argument `2' to `char* itoa(int, char*, int)'

also irgendwie versucht itoa den integer in nen char zu machen und da hat der string was dagegen. Aber ka wie ich das machen soll!

Hab keine Referenz zu itoa gefunden
 
Zuletzt bearbeitet:
moin


Wenn du schreibst: itoa(uiPoA,log.c_str())
sollte die Fehlermeldung verschwinden.
Aber trotzdem benutzt du die Funktion falsch sie erwartet 3 Parameter und du gibst ihr nur 2 und 1 Parameter mit.


mfg
umbrasaxum
 
moin


Code:
char eins[20];

itoa(eins, enemy.Defense(), 10);

log = log.c_str() + " Angriffspunkte gegen " + eins + " Verteidigungspunkte";

Aber das sollte auch funktionieren:
Code:
log = log + " Angriffspunkte gegen " + enemy.Defense() + " Verteidigungspunkte";


mfg
umbrasaxum
 
Zurück