Hallo Leutz!
Wie kann ich ein Interger in ein String umwandeln?
Hallo Leutz!
Wie kann ich ein Interger in ein String umwandeln?
Student Elektrotechnik
itoa -> integer to ascii
Gefunden im Netz:Code:/** * C++ version std::string style "itoa": */ std::string itoa(int value, unsigned int base) { const char digitMap[] = "0123456789abcdef"; std::string buf; // Guard: if (base == 0 || base > 16) { // Error: may add more trace/log output here return buf; } // Take care of negative int: std::string sign; int _value = value; // Check for case when input is zero: if (_value == 0) return "0"; if (value < 0) { _value = -value; sign = "-"; } // Translating number to string with base: for (int i = 30; _value && i ; --i) { buf = digitMap[ _value % base ] + buf; _value /= base; } return sign.append(buf); }
Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)
LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)
Funktioniert dies auch unter C? Hab das vergessen dazu zuschreiben.
Was bedeuten die 2 Doppelpunkte (: ?
Sonst schon mal Danke!
Student Elektrotechnik
Das könntest du z.B. mit snprintf() machen:
Code:int zahl=123; char text[12]; //12 Byte ist nur korrekt, wenn sizeof(int)==4 snprintf(text,12,"%d",zahl);
@Boron: Unter C++ ist es einfacher und bequemer, mit sstreams zu arbeiten.
@Joghurt
Da merkst du mal wie lange ich nix mehr mit C++ gemacht habe .
Die nette Funktion habe ich halt im Netz geklaut und nicht getestet.
Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)
LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)
Der Vollständigkeit halberCode:#include <sstream> int a = 1337; std::ostringstream buf; buf << a; std::string b = buf.str();
MfG
Geht das eigentlich auch irgendwie ohne den Umweg über ostringstream?Zitat von Giuly
boost hat ein lexical_cast<T>:Zitat von BLUESCREEN3D
http://www.boost.org/libs/conversion/lexical_cast.htm
Aber das ist nicht nur C++, das braucht ebenauchnoch die zusäzliche boost lib.
Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing
Lesezeichen