我有以下十六进制值:
CString str;
str = T("FFF000");
如何将此转换为
unsigned long
类型?我有以下十六进制值:
CString str;
str = T("FFF000");
unsigned long
类型?您可以使用strtol
函数,该函数适用于常规的C字符串。它将字符串转换为长整型数,使用指定的进制数:
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;
}
std::setbase(16)
或者 std::hex
吗? - ildjarn
stroul
或stoul
,因为他需要一个unsigned long
。 - ThisGuyCantEven