MFC 读取EDIT里16进制的Cstring 并转成字符数字

读取16进制的CString 并转成字符数字

没找到直接转的方法

用下面的方法可以逐个获取字符的ascii存储到s

	CString Str=L"12";  
	char  s;
	s = Str.GetAt(1);

将ascii转成数值

先通过ID获取EDIT控件的内容,然后通过上面的办法拿到两个字符的ascii 最后 通过判定,确定ascii码值段 映射

	GetDlgItemText(IDC_EDIT_RESPONSE, str);
	if (!(str.IsEmpty()))
	{
		s[0] = str.GetAt(0);
		s[1] = str.GetAt(1);
	}
	else
	{
		MessageBox("输入不能为空");
		return;
	}
	if (64 < s[1]&& s[1] < 71) s[1] = s[1] - 55;
	else if (96 < s[1] && s[1] < 103) s[1] = s[1] - 87;
	else if (47 < s[1] && s[1] < 58) s[1] = s[1] - 48;
	else s[1] = 0;
	if (64 < s[0] && s[0] < 71) s[0] = s[0] - 55;
	else if (96 < s[0] && s[0] < 103) s[0] = s[0] - 87;
	else if (47 < s[0] && s[0]< 58) s[0] = s[0] - 48;
	else s[0] = 0;
	int reg = (int)(16 * s[0] + s[1]);

你可能感兴趣的:(MFC)