Я хочу распечатать значение переменной size_t
используя printf
в C++ с использованием Microsoft Visual Studio 2010 (я хочу использовать printf
вместо <<
в этом конкретном фрагменте кода, поэтому, пожалуйста, не отвечайте, говоря, что мне следует использовать <<
вместо).
По сообщению
правильный независимый от платформы способ - использовать %zu
, но в Visual Studio это не работает. Документация по Visual Studio по адресу
http://msdn.microsoft.com/en-us/library/vstudio/tcxf1dw6.aspx
говорит мне, что я должен использовать %Iu
(используя прописные буквы i
, а не строчные l
).
Microsoft не следует стандартам здесь? Или стандарт был изменен с C99? Или стандарт отличается между C и C++ (что мне кажется очень странным)?