号我想一个十六进制字符串转换为十进制数(整数)在C++中,用以下方法尝试:转换十六进制字符串转换为十进制在C++
std::wstringstream SS;
SS << std::dec << stol(L"0xBAD") << endl;
但它返回0
代替2989
。
std::wstringstream SS;
SS << std::dec << reinterpret_cast<LONG>(L"0xBAD") << endl;
但它返回-425771592
而不是2989
。
但是,当我像下面一样使用它时,它工作正常,并按照预期给出2989
。
std::wstringstream SS;
SS << std::dec << 0xBAD << endl;
但我想输入一个字符串,并得到2989
作为输出,就像0xBAD
而不是整数输入。例如,我想输入"0xBAD"
并将其转换为整数,然后转换为十进制数。
在此先感谢。
那么问题是什么?你有一个工作方式。 – NathanOliver
@NathanOliver我正确更新了它。 – GTAVLover
可能的重复:https://stackoverflow.com/questions/1070497/c-convert-hex-string-to-signed-integer –