Integer in HEX CString, String oder char[]
-
tag
vorweg ich programmier noch ned lang und hab auch nicht so die erfahrung in c++
nun zu meiner frage
also ich brauch eine funktion die mir folgendes macht ... einen dezimalen int Wert in einen HEX Wert umwandelen und in ein CString, String oder char[] ablegt. Besonderheit hierbei ist das die hexzahl 4stellig sein muss ... also zb 00F2 oder E4A1 oder 000F usw. ... das keine größere hex zahl als FFFF rauskommt überprüfe ich selber bzw achte drauf das ich keinen zu großen integerwert übergebe
da wirds doch sicher schon was fertiges geben oder ???
vermutlich ist es auch ganz einfach und ich stell mich nur ziemlich dumm an ;/
zb.:
int zahl = 144 übergeben
String ergebnis = "0090" bekommenint zahl = 456 übergeben
String ergebnis = "01C8" bekommenmfg
eMpTy
-
hier gibts ein ansatz http://www.c-plusplus.net/forum/viewtopic.php?t=39488
#include <iostream> #include <sstream> #include <string> #include <manip> using namespace std; int main() { int zahl = 255; ostringstream stream; stream << setw(4) << setfill('0') << hex << uppercase << zahl ; cout << stream.str() << endl; }
eine erklärung zu den mainpulatoren findes du hier
ahja .str() gibt dir ein std::string zurück, das kannst du danach in char[] oder CSting convertieren (du dich lieber von CString fern halten solltest, denn es bindet dich an die MFC)
-
ok ... is anscheinend wirklich ziemlich einfach
... aber geht das ganze auch irgendwie ohne stream ???
-
guck dir mal diese beiden threads an die sollte hoffentlich keine fragen offen lassen
http://www.c-plusplus.net/forum/viewtopic.php?t=83968&start=10
http://www.c-plusplus.net/forum/viewtopic.php?t=83659&start=0
-
eMpTy schrieb:
ok ... is anscheinend wirklich ziemlich einfach
... aber geht das ganze auch irgendwie ohne stream ???
Ja!
[weltverbessere modus]
wie wers wenn du die links lesen würdest?
[/weltverbessere modus]
-
Da CString für dich ja auch in frage kommt: die hat, wenn ich mich recht erinnere, eine Memberfunktion "format" o.ä., die genauso funktioniert wie sprintf.
-
Definitiv was für die FAQ...