I want to convert a hexadecimal string to a decimal number (integer) in C++ and tried with following ways:
std::wstringstream SS;
SS << std::dec << stol(L"0xBAD") << endl;
But it returned 0
instead 2989
.
std::wstringstream SS;
SS << std::dec << reinterpret_cast<LONG>(L"0xBAD") << endl;
But it returned -425771592
instead 2989
.
But, when I use it like below, it works fine and gives 2989
as expect.
std::wstringstream SS;
SS << std::dec << 0xBAD << endl;
But I want to input a string and get 2989
as output, instead integer input like 0xBAD
. For example, I want to input "0xBAD"
and cast it to integer and then convert to a decimal number.
Thanks in advance.