gpt4 book ai didi

c++ - 更正 size_t : %zu or %Iu? 的 printf 格式说明符

转载 作者:IT老高 更新时间:2023-10-28 14:02:13 30 4
gpt4 key购买 nike

我想打印出 size_t 的值变量使用 printf在 C++ 中使用 Microsoft Visual Studio 2010(我想在这段特定的代码中使用 printf 而不是 <<,所以请没有答案告诉我应该使用 << 代替)。

根据帖子

Platform independent size_t Format specifiers in c?

正确的平台无关方式是使用%zu ,但这似乎在 Visual Studio 中不起作用。 Visual Studio 文档位于

http://msdn.microsoft.com/en-us/library/vstudio/tcxf1dw6.aspx

告诉我必须使用 %Iu (使用大写 i ,而不是小写 l )。

微软没有遵循这里的标准吗?还是自 C99 以来标准已更改?还是 C 和 C++ 的标准不同(我觉得很奇怪)?

最佳答案

MS Visual Studio 在 VS2013 之前不支持 %zu printf 说明符。从VS2013开始(例如_MSC_VER >= 1800)%zu is available .

作为替代方案,对于以前版本的 Visual Studio,如果您要打印较小的值(例如 std 容器中的元素数量),您可以简单地转换为 int 并使用 %d:

printf("count: %d\n", (int)str.size()); // less digital ink spent
// or:
printf("count: %u\n", (unsigned)str.size());

关于c++ - 更正 size_t : %zu or %Iu? 的 printf 格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15610053/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com