ulong in string und umgekehrt?
-
Hey,
wie muss ich einen unsgined long-Wert in einen String "reinpacken", um ihn später wieder auslesen zu können... So geht das nicht:
string ULToString(const unsigned long& l) { char acOut[32]; acOut[sizeof(unsigned long)]='\0'; memcpy(acOut, &l, sizeof(unsigned long)); return string(acOut); } unsigned long StringToUL(const char* pcString) { unsigned long lOut; memcpy(&lOut, pcString, sizeof(unsigned long)); return lOut; }
Gibt es möglichkeiten, sprintf umgekehrt zu nutzen (gibt es eine solche Funktion?)? Kann ich z.B. sagen
sprintf(ac, "%X", meinLong);
IrgendeineFunktion(ac, "%X", &meinLong); // meinLong aus ac extahieren???
-
ulong schrieb:
Hey,
wie muss ich einen unsgined long-Wert in einen String "reinpacken", um ihn später wieder auslesen zu können... So geht das nicht:
string ULToString(const unsigned long& l) { char acOut[32]; acOut[sizeof(unsigned long)]='\0'; memcpy(acOut, &l, sizeof(unsigned long)); return string(acOut); } unsigned long StringToUL(const char* pcString) { unsigned long lOut; memcpy(&lOut, pcString, sizeof(unsigned long)); return lOut; }
C++-FAQ:: Einmal Zahl nach String und zurück.
Caipi
-
Shit, ich bin zu dumm die Suche zu verwenden. Steinigt mich
-
Hast du deine funktionen schon einmal ausprobiert ?
Ich würde vorschlagen stringstreams zur konvertierung verwenden.#include <sstream> #include <iostream> int main() { std::stringstream s; unsigned long l = 12345; s << l; std::cout << s.str() << std::endl; l =0; s >> l; std::cout << l << std::endl; }