首页
社区
课程
招聘
[求助]关于C++标准库中的sscanf函数的格式描述符的疑问。
发表于: 2013-11-11 16:52 4635

[求助]关于C++标准库中的sscanf函数的格式描述符的疑问。

bxc 活跃值
6
2013-11-11 16:52
4635
最近弄得一个小工具里需要把数值和文本之间互转,用到了sscanf函数。
于是我在网上查了下sscanf的格式描述符:

{h | I | I64 | L}:参数的size,
通常h表示单字节size,
I表示2字节 size,
L表示4字节size(double例外),
I64表示8字节size.

可是我实际测试的结果与这个有些出入。
测试环境 VS2012 C++。

测试结果:
%hd  2字节
%Id 4字节
%Ld 4字节
%I64d 8字节

还有某些论坛上说%hhd就是1字节,测试发现%hhd变成4字节了。

请问下这是什么情况?
难道要扫描一个byte只有先存进DWORD里了么?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
sscanf不是C++标准库的。 是stdio 里面的。 这个库叫标准输入输出库。
2013-11-11 17:26
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
3
哦,了解0.0
2013-11-11 17:28
0
雪    币: 217
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
这个应该会根据不同的系统架构

通常

32bit 系统上int和long都是32bit(4字节)
在64bit 系统上int是32,long是64bit之类
2013-11-11 18:07
0
雪    币: 238
活跃值: (55)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
还有atoi atol atof strtol strtoul strtod好像,不知道能不能用
2013-11-11 19:03
0
游客
登录 | 注册 方可回帖
返回
//