博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC总结(19) --- CStrig转换成十六进制数
阅读量:4123 次
发布时间:2019-05-25

本文共 752 字,大约阅读时间需要 2 分钟。

转载来自:http://blog.csdn.net/obuyiseng/article/details/50013349

在进行PE中的文件偏移转换的时候,用到了CString和十六进制的数转换。

1)将CString转换成十六进制数,我们可以通过StrToIntEx函数来完成。

[html]   
  1. BOOL StrToIntEx(  
  2.   _In_  PCTSTR     pszString,  
  3.         STIF_FLAGS dwFlags,  
  4.   _Out_ int        *piRet  
  5. );  

       pszString: 数字字符串,如 1234 或 0x123A

       dwFlag:    STIF_DEFAULT - 只转换10进制数值

                            STIF_SUPPORT_HEX - 支持10进制和16进制     

      但是要注意,要转换十六进制的时候 CString类型的数字必须要使用 0x前缀,否则不会成功。

      代码如下:

[html]   
  1. int nRet;   
  2. StrToIntEx("0x123A", STIF_SUPPORT_HEX, &nRet); //得到的结果是 nRet = 0x123A   
  3. StrToIntEx("123A", STIF_SUPPORT_HEX, &nRet); //得到的结果是 nRet = 123   

 

2)将一个数以十六进制的形式转换为CString类型

[html]   
  1. int nNum = 10;  
  2. CString strHex;  
  3. strHex.Format(L"%04X", nNum);   //得到的结果是 strHex =000A     X表示的是十六进行,4表示四十六进制位,0表示不足4个时候左侧用0填充  
  4. strHex.Format(L"%#06X", nNum); //得到的结果是 strHex =0x000A   比上面多个# 并且位数为6  
你可能感兴趣的文章
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(三)
查看>>
pytorch(5)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>