4

我有以下十六进制值

CString str;
str = T("FFF000");

如何将其转换为unsigned long?

4

2 回答 2

12

您可以使用strtol适用于常规 C 字符串的函数。它使用指定的基数将字符串转换为长整数:

long l = strtol(str, NULL, 16);

细节和好例子: http ://www.cplusplus.com/reference/clibrary/cstdlib/strtol/

于 2011-05-09T08:22:43.933 回答
10
#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;
}
于 2011-05-09T08:32:12.997 回答