【发布时间】:2013-03-14 15:41:18
【问题描述】:
我想使用 Microsoft Visual Studio 2010 在 C++ 中使用 printf 打印出 size_t 变量的值(我想在这段特定的代码中使用 printf 而不是 <<,所以请不要答案告诉我我应该改用<<)。
根据帖子
正确的平台无关方式是使用%zu,但这在Visual Studio 中似乎不起作用。 Visual Studio 文档位于
http://msdn.microsoft.com/en-us/library/vstudio/tcxf1dw6.aspx
告诉我必须使用%Iu(使用大写的i,而不是小写的l)。
微软没有遵循这里的标准吗?还是自 C99 以来标准已更改?还是 C 和 C++ 的标准不同(我觉得很奇怪)?
【问题讨论】:
-
您链接到的 MSDN 页面上写着
The I, I32, and I64 length modifier prefixes are Microsoft extensions and are not ANSI-compatible,这似乎回答了您关于 MS 遵循标准的问题。
标签: c++ c visual-studio-2010 printf format-specifiers