printf-Formatbezeichner

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu printf, wprintf


Printf-Formatbezeichner haben die folgende Form:

% [Flags] [Breite] [.Genauigkeit] [F|N|h|l|L] Typzeichen

Jeder Formatbezeichner beginnt mit dem Prozentzeichen (%).

Optionale Komponenten von Format-Strings

Im Folgenden werden die allgemeinen Aspekte der Ausgabeformatierung beschrieben, die von optionalen Zeichen, Bezeichnern und Modifizierern im printf-Format-String gesteuert werden:


Komponente    Optional/Erforderlich Bedeutung

[Flags]

(Optional)

Flags können in jeder beliebigen Reihenfolge und Kombination vorhanden sein.

  • - = Richtet das Ergebnis linksbündig aus und füllt rechts mit Leerstellen auf. Ist dieses Flag nicht vorhanden, dann wird das Ergebnis rechtsbündig ausgerichtet und links mit Nullen oder Leerzeichen aufgefüllt.
  • + = Stellt dem Konvertierungsergebnis ein Vorzeichen voran (Plus (+) oder Minus (-)).
  • leer = Wenn der Wert nicht negativ ist, beginnt die Ausgabe mit einem Leerzeichen anstelle eines Pluszeichens; negative Werte beginnen mit einem Minuszeichen.
  • # = Legt fest, dass das Argument in einer anderen Form konvertiert werden soll.

Hinweis: Ein Pluszeichen (+) hat Vorrang vor einem Leerzeichen (), wenn beides angegeben sind.

[Breite]

(Optional)

Der Breitenbezeichner legt die minimale Länge des Feldes für den Ausgabewert fest.

Zum Festlegen der Breite stehen die beiden folgenden Möglichkeiten zur Verfügung:

  • Direkt mit einem dezimalen Ziffern-String.
  • Indirekt mit einem Sternchen (*).

Wenn Sie ein Sternchen als Breitenbezeichner verwenden, legt das nächste Argument in dem Aufruf (das ein int sein muss) die minimale Breite des Ausgabefeldes fest.

Bei nicht-vorhandenen oder kleinen Feldbreiten wird ein Feld nicht abgeschnitten. Wenn das Ergebnis einer Konvertierung länger als die Feldbreite ist, wird das Feld entsprechend vergrößert.

Auswirkungen auf die Ausgabelänge

n = Mindestens n Zeichen werden ausgegeben. Wenn der Ausgabewert weniger als n Zeichen hat, wird die Ausgabe mit Leerstellen aufgefüllt (rechts, wenn das Flag angegeben ist, ansonsten links).

0n = Mindestens n Zeichen werden ausgegeben. Wenn der Ausgabewert weniger als n Zeichen hat, wird er links mit Nullen aufgefüllt.

'*' = Die Argumentliste gibt den Breitenbezeichner an, der vor dem zu formatierenden eigentlichen Argument stehen muss.

[Genauigkeit]

(Optional)

Genauigkeitsbezeichner. Maximale Anzahl der auszugebenden Zeichen; bei Integerwerten minimale Anzahl der auszugebenden Ziffern.

[F|N|h|l|L]

(Optional)

Diese Modifizierer bestimmen, wie printf-Funktionen das nächste Eingabeargument, arg[f], interpretieren.

Präfix Formatbezeichner Festgelegter Typ

F

p s

Ein far-Zeiger

N

n

Ein near-Zeiger

h

d i o u x X

Ein short int

l

d i o u x X

Ein long int

l

e E f g G

Ein double

L

e E f g G

Ein long double

L

d i o u x X

Ein __int64

h

c C

Ein Einzelbyte-Zeichen

l

c C

Ein Wide-Zeichen

h

s S

Ein Einzelbyte-Zeichen-String

l

s S

Ein Wide-Zeichen-String

Diese Modifizierer wirken sich darauf aus, wie alle printf-Funktionen die Datentypen des zugehörigen Eingabearguments, arg, interpretieren. F und N interpretieren die Eingabevariable, arg, neu. Normalerweise ist das Argument für eine Konvertierung von %p, %s oder %n ein Zeiger in der Standardgröße des Speichermodells. h, l und L überschreiben die Standardgröße der numerischen Dateneingabeargumente. Weder h noch l wirken sich auf Zeigertypen (p,n) aus.

Typzeichen

(Erforderlich)

Typzeichen


Siehe auch