號我想一個十六進制字符串轉換爲十進制數(整數)在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 –