如何把CString转换为DWORD
比如说我要转换如下的东西:CStringsp("51d3fc34");CStringshowbox;DWORDshow;show=atol(sp);showbox.For...
比如说我要转换如下的东西: CString sp("51d3fc34");
CString showbox;
DWORD show;
show=atol(sp);
showbox.Format("%08x",show);
AfxMessageBox(showbox);
上面的方法转换不成功
说明:51d3fc34这个数是一个DWORD的16进制形式。
我想要的到的结果是51d3fc34,但是结果不是这个,应该怎样转换呢? 展开
CString showbox;
DWORD show;
show=atol(sp);
showbox.Format("%08x",show);
AfxMessageBox(showbox);
上面的方法转换不成功
说明:51d3fc34这个数是一个DWORD的16进制形式。
我想要的到的结果是51d3fc34,但是结果不是这个,应该怎样转换呢? 展开
2个回答
展开全部
int htoi(const char* psz)
{
ASSERT(psz);
size_t nlen = ::strlen(psz);
int result = 0;
for(size_t i = 0; i < nlen; i++)
{
int digit = ctoi(*psz++);
result += int(digit*::pow(16, nlen - 1 - i));
}
return result;
}
这个函数可以直接完成你的要求。
{
ASSERT(psz);
size_t nlen = ::strlen(psz);
int result = 0;
for(size_t i = 0; i < nlen; i++)
{
int digit = ctoi(*psz++);
result += int(digit*::pow(16, nlen - 1 - i));
}
return result;
}
这个函数可以直接完成你的要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询