Texthexwert in integer umwandeln
-
Hallo!
Aus einer Textdatei lese ich verschiedene Hexwerte als std::string ein.
Wie kann ich diesen string nun in einen Integer bekommen, normalerweise ist das ja kein Problemint value = atoi(line.c_str());Nur wenn in line jetzt "0x31" steht funktioniert das ganze nicht mehr, wer hilft mir
?
-
Sieh dir mal strtoul an.
Kurt
-
ohne mich jetzt drauf festzunageln...
es gibt do diesen manipulator std::hex. Funktioniert der auch für istreams?
Wenn ja, dann könnte doch das folgende funktionieren:#include <fstream> #include <sstream> #include <string> int read(std::ifstream& is) { int r; is>>hex>>r; return r; }; //oder int read(const std::string s) { std::istringstream iss(s); //geht das so? iss>>hex>>r; };Aber wie gesagt, keine ahnung ob das geht.
-
letzte Variante funktioniert einwandfrei, die davor hab ich nicht probiert. danke
