VC++2010,MFC,Unicode环境,CString转Int,CString str; str="0x22D3";怎么把str转换成int s=0x22D3形式

2024-12-21 08:21:19
推荐回答(3个)
回答1:

首先 0x22d3是十六进制的。你说的int s = 0x22d3;是编译器自动把十六进制转换成10进制然后传给S的。你可以这样儿赋值,但是若是显示S的值,那么编译器还是会转换成10进制显示。因为赋值之前十六进制就已经转换成十进制了。
所以你要想把CString str=“0x22d3” 转换成int 转换的结果是10进制的。不可能是0x22d3的形式。
所以你可以定义一个十六进制的变量 然后把CString str的值转成int再赋值就行了。

回答2:

#include
#pragma comment(lib,"shlwapi.lib")
CString s;
int i;

::StrToIntExW(s,STIF_SUPPORT_HEX,&i);

回答3:

可以使用int atoi()这个函数来将字符串转换成整形数据,这表函数的返回值是int类型的。