
MFC 中的数值转换:CString 至 HEX 和 DEC 再转回 CString
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文介绍了在Microsoft Foundation Classes (MFC)中将CString类型的数据转化为HEX和DEC格式,并详细说明了如何再将其转回CString的方法。
在MFC通信模块中经常会遇到数据类型的转换问题,例如从下位机接收到的数据(如:10 20 30 40 64 DD),需要将其中的64以十六进制形式显示为十进制数100。为此,必须先进行以下步骤:CString >> HEX>>DEC>> CString。
具体代码如下:
```cpp
CString readData;
char readChar = D; // 假设这里的值是D代表64的ASCII码减去32(为了示例方便)
readData.Format(_T(0x%X), (unsigned char)(readChar + 32)); // 将字符转换为十六进制字符串,如 0xD 转换为 0x64
CString strDec, strHex;
strHex = readData;
DWORD dwHex = strtoul(strHex.Mid(2), NULL, 16); // 移除前缀的“0x”并转换成十六进制数
strDec.Format(_T(%ld), (long)dwHex);
MessageBox(strDec); // 显示十进制结果,如100
```
此代码段展示了如何将特定字符(经过调整后代表64)从CString类型通过十六进制表示转换为十进制数字并显示在对话框中。此外还有其他相关的数据类型转换方法,比如char转到CString、CString转到int/long/double等。
全部评论 (0)
还没有任何评论哟~


