如何将十六进制字符串转换为无符号长整数?

| 我有以下十六进制值
CString str;
str = T(\"FFF000\");
怎么把它转换成
unsigned long
?     
已邀请:
#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;
}
    
您可以使用适用于常规C字符串的
strtol
函数。它将使用指定的基数将字符串转换为long:
long l = strtol(str, NULL, 16);
详细信息和良好示例: http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/     

要回复问题请先登录注册