Brauche Hilfe bei meiner eigenen IntToStr() Funktion
-
Da es in Visual C++ 2008 keine direkte Möglichkeit gibt, einen Zahlwert in einen String zu formatieren, sitze ich grade an einer eigenen IntToStr() Funktion und hänge an einer Stelle:
System::String^ IntToStr(int Integer) { char Buff[100]; System::String^ Str; sprintf_s(Buff,"%d",sizeof(Buff),Integer); for(int i=1;i<=sizeof(Buff);i++) { if (Buff[i] != 0) { Str+=Buff[i]; } } return Str; }
An der Stelle "Str+=Buff[i];" tritt zur Laufzeit immer ein Fehler auf und in Str steht nur noch Datenmüll.
Das lässt sich reproduzieren, wenn ich Str+='X'; mache. Nur Str+="X"; funktioniert. Ich muss also irgendwie meinen einzelnen Char in eine Zeichenkette umwandeln, damit ich sie anfügen kann.Kann mir evtl jemand verraten, was zu tun ist?
-
Hab mir erstmal so geholfen, aber das muss doch wohl noch anders gehen?????
System::String^ IntToStr(int Integer) { int i; char Buff[100]; System::String^ Str; sprintf_s(Buff,sizeof(Buff),"%d",Integer); for (i=0;i<=sizeof(Buff);i++) { if (Buff[i] != 0) { //Str+=Buff[i]; if (Buff[i] == '1') { Str+="1"; } else if (Buff[i] == '2') { Str+="2"; } else if (Buff[i] == '3') { Str+="3"; } else if (Buff[i] == '4') { Str+="4"; } else if (Buff[i] == '5') { Str+="5"; } else if (Buff[i] == '6') { Str+="6"; } else if (Buff[i] == '7') { Str+="7"; } else if (Buff[i] == '8') { Str+="8"; } else if (Buff[i] == '9') { Str+="9"; } else if (Buff[i] == '0') { Str+="0"; } } } return Str; }
-
GR-Thunderstorm schrieb:
Da es in Visual C++ 2008 keine direkte Möglichkeit gibt, einen Zahlwert in einen String zu formatieren
Was baust Du hier? Wieso verwendest Du nicht Int32.ToString()?
-
Wie genau wende ich das an?
-
12.ToString() !?
-
Oder etwas ausführlicher...
int _zahl1 = 8562; int _zahl2 = 6233; int _ergebnis = _zahl1 + _zahl2; String^ _stringZahl = "12"; this->Text = _ergebnis.ToString(); //Oder MessageBox::Show("Nun einen String zu einem Integer","Convert",MessageBoxButtons::OK,MessageBoxIcon::Information); _ergebnis += Convert::ToInt32(_stringZahl); this->Text = Convert::ToString(_ergebnis);