У меня есть следующее шестнадцатеричное значение
CString str; str = T("FFF000");
Как преобразовать это в unsigned long?
unsigned long
Вы можете использовать функцию strtol, которая работает на обычных C-строках.Он преобразует строку в long, используя указанную базу:
strtol
long l = strtol(str, NULL, 16);
подробности и хороший пример: http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/
#include <sstream> #include <iostream> int main() { std::string s("0xFFF000"); unsigned long value; std::istringstream iss(s); iss >> std::hex >> value; std::cout << value << std::endl; return 0; }