为了账号安全,请及时绑定邮箱和手机立即绑定

使用printf打印Size_t的正确方法是什么?

使用printf打印Size_t的正确方法是什么?

C++
噜噜哒 2019-06-19 14:43:56
使用printf打印Size_t的正确方法是什么?Size_t定义为unsigned整数,但是它的大小取决于您是在32位还是64位的机器上。如何正确和便携地打印出size_t?
查看完整描述

3 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

我认为C+的答案是:

std::size_t n = 1;std::cout << n;

对于C风格的IO来说,这有点复杂。在C99中,他们添加了z长度修饰符size_t价值。但是,在TR1之前,不支持这一点,因此您需要进行特定大小的转换,如下所示:

std::size_t n = 1;std::printf("%lu\n", static_cast<unsigned long>(n));

再说一次,unsigned long long反正C+并不真正支持,所以上面的工作会很好,因为unsigned long是最大的法律整体类型。在TR1之后,您可以使用%zu安全地size_t价值。


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 8967 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信