我有以下十六进制值
CString str;
str = T("FFF000");
如何将此转换为unsigned long
?
答案 0 :(得分:11)
您可以使用适用于常规C字符串的strtol
函数。它使用指定的基数将字符串转换为long:
long l = strtol(str, NULL, 16);
细节和好例子: http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/
答案 1 :(得分:9)
#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;
}