Was ist die Bedeutung von “%-*.*s" in einem printf format string

#define FMT "%-*.*s e = %6ld, chars = %7ld, stat = %3u: %c %c %c %c\n"

Diesem makro übergeben wird in der printf Funktion. Was bedeutet %-*.*s bedeuten?

SO dient nicht als Ersatz für die normalen man-pages. Formatbezeichner für printf beschrieben werden auf jede man-Seite für diese Funktion.
Habe ich etwas gelernt von dieser Frage also +1 von mir.
Ich denke, dass die man-Seite ist ausreichend schwer, zu verstehen, zu begründen, dass die Frage (und ich lernte auch etwas, wahrscheinlich, weil es war nicht Teil in der K&R printf).
Als ein beiseite, die das format nicht haben, um ein string-literal, es kann ein regulärer Zeiger (z.B. char *fmt = "%d"; printf(fmt, 3);). Dies bedeutet, dass Sie können bauen Sie mit sprintf programmgesteuert als gut. Es ist ziemlich ungewöhnlich, aber sehr flexibel, wenn nötig.

InformationsquelleAutor Thompson | 2014-05-21

Schreibe einen Kommentar