转换函数?

wx_dwl 2003-02-14 03:48:02
一字符串str="0x05f5e81c",用sprintf(szMsg,"%d",str)把它转换成十进制字符串,得到的值应是"100001820",而结果是"1244796",为什么?
...全文
26 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
loopyifly 2003-02-14
  • 打赏
  • 举报
回复
函数已经说出来了

用法看msdn即可

up
Efeis 2003-02-14
  • 打赏
  • 举报
回复
sprintf(szMsg,"%d",str); 会将str的前几个字符(4?8?)转化成数字型然后按十进制格式显示出来(结果在szMsg)。
sscanf(str, "%x", &b);就会将str当成十六进制格式输入,得到数值结果放在b中,然后你操作b就可以了
devil97518 2003-02-14
  • 打赏
  • 举报
回复
up
ccnuxjg 2003-02-14
  • 打赏
  • 举报
回复
CString _temp = str.Right(8);
int b;
sscanf(_temp, "%x", &b);

wx_dwl 2003-02-14
  • 打赏
  • 举报
回复
我需要的是如何把16进制转换成10进制的方法.
lingfeng8888 2003-02-14
  • 打赏
  • 举报
回复
你需要把字符串str="0x05f5e81c"转换为10进制数字后,才能用sprintf(szMsg,"%d",str)得到十进制的字符串呀
ccnuxjg 2003-02-14
  • 打赏
  • 举报
回复
int b;
sscanf(str, "%x", &b);

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧