C++ 如何将十六进制字符串转换为无符号长字符串?
我有以下十六进制值C++ 如何将十六进制字符串转换为无符号长字符串?,c++,mfc,hex,data-conversion,unsigned-long-long-int,C++,Mfc,Hex,Data Conversion,Unsigned Long Long Int,我有以下十六进制值 CString str; str = T("FFF000"); 如何将其转换为无符号长?您可以使用strtol函数,该函数适用于常规C字符串。它使用指定的基将字符串转换为长字符串: long l = strtol(str, NULL, 16); 细节和好例子: #包括 #包括 int main() { std::字符串s(“0xFFF000”); 无符号长值; 标准:istringstream iss; iss>>标准::十六进制>>值; std::cout不应该是std
CString str;
str = T("FFF000");
如何将其转换为
无符号长
?您可以使用strtol
函数,该函数适用于常规C字符串。它使用指定的基将字符串转换为长字符串:
long l = strtol(str, NULL, 16);
细节和好例子:
#包括
#包括
int main()
{
std::字符串s(“0xFFF000”);
无符号长值;
标准:istringstream iss;
iss>>标准::十六进制>>值;
std::cout不应该是std::setbase(16)
或std::hex
?
#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;
}