Wir verwenden C89 auf einer eingebetteten Plattform. Ich versuchte, aus einem size_t
zu drucken, aber es hat nicht funktioniert:Ist der% zu-Spezifizierer für printf erforderlich?
#include <stdio.h>
int main(void) {
size_t n = 123;
printf("%zu\n",n);
return 0;
}
Statt 123
, ich habe zu
.
Andere Spezifizierer funktionieren ordnungsgemäß.
Wenn size_t
existiert sollte nicht zu
auch in printf
verfügbar sein?
Ist das etwas, mit dem ich meinen Bibliotheksverkäufer in Verbindung bringen sollte, oder kann eine Bibliotheksimplementierung dies ausschließen?
Der 'Z' Präfix war hinzugefügt in C99 glaube ich. –
@KerrekSB Ok. Es scheint nicht annotiert zu sein. http://en.cppreference.com/w/cpp/io/c/fprintf –
Warum sollte eine C++ - Referenz irgendetwas über einen C-Standard sagen? – mch