mfc 如何获取字符串中的16进制数据

mfc 如何获取字符串中的16进制数据,如字符串“0x123F”或"123F",获取16进制数据0x123F

C++实现二进制、八进制、十进制、十六进制的相互转换

这种算法只能针对特殊的格式字符串吧,不能做到万能的算法。
你这种需求你肯定知道字符串的大致格式,那么你就只有根据你的需求来匹配16进制的。
比如你可以搜索0x开头的,然后在后面继续匹配。

先读取字符串,然后根据你的格式要求,对应的转换为对应的进制,如stol()函数

使用std::stringstream类

CString csNumber("0x123F");
std::string strNumber(csNumber.GetString());

std::stringstream iss(strNumber);
int iNumber = 0x0;
iss>>std::hex>>iNumber;


数字转换成16进制字符

int iNumber = 0x123F;
std::stringstream oss;
oss<<"0x"<<std::hex<<iNumber;
std::string strNumber = oss.str();