Voglio stampare il valore di una variabile size_t
utilizzando printf
in C++ utilizzando Microsoft Visual Studio 2010 (voglio usare printf
invece di <<
in questo specifico pezzo di codice, quindi per favore risposte a dirmi che dovrebbero usare <<
invece) .Specificatore di formato printf corretto per size_t:% zu o% Iu?
Secondo il post
il corretto modo indipendente dalla piattaforma è quello di utilizzare %zu
, ma questo non sembra funzionare in Visual Studio. La documentazione di Visual Studio a
http://msdn.microsoft.com/en-us/library/vstudio/tcxf1dw6.aspx
mi dice che devo usare %Iu
(utilizzando lettere maiuscole i
, non minuscolo l
).
Microsoft non sta seguendo gli standard qui? O è stato cambiato lo standard dal C99? O è lo standard diverso tra C e C++ (che sembrerebbe molto strano per me)?
La pagina di MSDN ti sei collegato a: I prefissi per la modifica della lunghezza I, I32 e I64 sono estensioni Microsoft e non sono ANSI-compatibili, il che sembra rispondere alla tua domanda sulla MS in base agli standard. –
http://stackoverflow.com/questions/1546789/clean-code-to-printf-size-t-in-c-or-nearest-equivalent-of-c99s-z-in-c – Nima