Hi,
ich habe ein sehr merkwürdiges Problem in Verbindung mit itoa.
Ich möchte eine Zahl mit vorangestelltem Zeichen in einer Funktion
zurückgeben und verwende dafür folgenden Code:
1 | char* retval = " ";
|
2 | itoa(val, retval+1, 10);
|
3 | retval[0] = (prefix == 1) ? 'A' : 'B';
|
Das Kuriose ist, dass zwar mein Zahlenwert um ein Zeichen nach rechts
verschoben wird, allerdings erscheint weder A noch B in dem String.
Setze ich itoa ohne Offset an und packe A/B nach hinten (unter
Berücksichtigung der Stringterminierung) funktioniert das Ganze.
ich wollte eigentlich darauf verzichten, einen concat auf die Zeichen zu
machen bzw. jedes Zeichen im String um eine Stelle nach rechts zu
verschieben - kann mir jemand sagen, woran das liegt und evtl. einen
Tipp geben, wie ich den Quellcode zum funktionieren überzeugen kann?
Viele Grüße
hownottobeseen