Как из строки достать hex в int

MastAKK

Есть строка, в которой хранится "7D", как я могу преобразовать её в hex и записать в int? atoi не справляется(
2 ответа

MastAKK

#include <iostream>
#include <sstream>
#include <string>
 
 
int main() {
   std::string const str = "7D";
 
   std::stringstream ss;
   ss << str;
   int value;
   ss >> std::hex >> value;
 
   std::cout << value << std::endl;
}
или так, только если нужно именно int, надо будет результат приводить:
#include <iostream>
#include <string>
#include <cstdlib>
 
 
int main() {
   std::string const str = "7D";
 
   long const value = std::strtol(str.c_str(), 0, 16);
 
   std::cout << value << std::endl;
}


MastAKK

MastAKK, scanf() справляется с этим.У него есть функция ввода шестнадцетиричных чисел