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

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

Size_t定义为unsigned整数,但是它的大小取决于您是在32位还是64位的机器上。如何正确和便携地打印出size_t?


噜噜哒
浏览 8968回答 3
3回答

烙印99

我认为C+的答案是:std::size_t&nbsp;n&nbsp;=&nbsp;1;std::cout&nbsp;<<&nbsp;n;对于C风格的IO来说,这有点复杂。在C99中,他们添加了z长度修饰符size_t价值。但是,在TR1之前,不支持这一点,因此您需要进行特定大小的转换,如下所示:std::size_t&nbsp;n&nbsp;=&nbsp;1;std::printf("%lu\n",&nbsp;static_cast<unsigned&nbsp;long>(n));再说一次,unsigned long long反正C+并不真正支持,所以上面的工作会很好,因为unsigned long是最大的法律整体类型。在TR1之后,您可以使用%zu安全地size_t价值。
打开App,查看更多内容
随时随地看视频慕课网APP