Integers | ||
---|---|---|
Sonderzeichen | Bedeutung | Beispiele |
%d | Integer (32 Bit, mit Vorzeichen) | 31; -31 |
%i | Integer (32 Bit, mit Vorzeichen) | 31; -31 |
%u | Integer (32 Bit, positiv, ohne Vorzeichen) | 31 |
%x | integer in hexadezimaler Schreibweise (hex, kein Standard!), kleine Buchstaben | 1f |
%X | integer in hexadezimaler Schreibweise (hex, kein Standard!) | 1F |
%o | Integer in oktaler Schreibweise | 37 |
%p | Pointer | |
Fließkommazahlen | ||
Sonderzeichen | Bedeutung | Beispiele |
%f | Fließkommazahl | 47.11 |
%e | Fließkommazahl in Exponentialdarstellung (kleines e) | 4.711e+1 |
%E | Fließkommazahl in Exponentialdarstellung (großes E) | 4.711E+1 |
Buchstaben und Strings | ||
Sonderzeichen | Bedeutung | Beispiele |
%c | Wert als <acronym title="American Standard Code for Information Interchange" style="margin: 0px; cursor: help; border-bottom-width: 1px; border-bottom-style: dotted; ">ASCII</acronym>-Zeichen (character) | a |
%s | Adresse als Zeichenkette (String) | Hallo proggen.org |
Sonstiges | ||
Sonderzeichen | Bedeutung | Beispiele |
%n | Bisher gedruckte Zeichen auf einen Pointer (auf ein signed int) schreiben | |
%% | Druckt ein (nur ein!) Prozentzeichen | % |
Diese Platzhalter können auch nach folgendem Muster formatiert werden:
%[Flags][Feldbreite][.][Genauigkeit][Eingabetyp]Platzhaltertyp
Bis auf den Platzhaltertyp sind alle Angaben optional.
Zeichen | Bedeutung | Beispiele |
---|---|---|
- | linksbündig in der Feldbreite | „4711 “ |
+ | Erzwingt ein Vorzeichen auch bei positiven Zahlen | “ +4711“ |
-Leerzeichen- | Die Feldbreite wird mit Leerzeichen vor der Zahl aufgefüllt | “ 4711“ |
# | Erzwingt
eine Beschreibung der Zahlenbasis (0 für Oktal, 0x/0X für Hexadezimal
) bei Fließkommazahlen (E, e) folgt ein Punkt, auch wenn keine Nachkommastellen gedruckt werden, bei G und g werden die nachfolgenden Nullen nicht entfernt |
„0123“, „0xbadc0de“, „4711.“ |
0 | Die Feldbreite wird mit Nullen vor der Zahl aufgefüllt | „00004711“ |
Wird eine Zahl angegeben, so wird für diesen Platzhalter mindestens diese Breite reserviert. Passt der einzufügende Inhalt nicht in den Platzhalter, so wird mehr Platz verwendet - es wird nicht abgeschnitten. Ist der einzufügende Inhalt kürzer, so wird der Platz entsprechend der Flags aufgefüllt (per Voreinstellung mit Leerzeichen).
Wird ein * angegeben, so folgt ein zusätzliches Integer-Argument in der Parameterliste, der die Feldbreite angibt und zwar vor dem Argument, das ausgegeben wird.
Die Genauigkeit gibt an, wie ab wann eine Ausgabe gekürzt wird.
Dies ist abhängig von Platzhaltertyp.
Platzhaltertyp | Beschreibung | Beispiel | Eingabe | Ausgabe |
---|---|---|---|---|
Integer | Gibt die minimale Zahl zu schreibender Ziffern an, fehlende Ziffern werden vorangestellte Nullen aufgefüllt. Längere Integerzahlen werden nicht gekürzt. Wird 0 angegeben, so wird der Wert 0 nicht gedruckt. | %.10d | 10 | „0000000010“ |
f | Anzahl der zu druckenden Ziffern nach dem Dezimalpunkt | %.3f | 10.1234567 | „10.123“ |
e, E | Anzahl der zu druckenden Ziffern nach dem Dezimalpunkt | %.3e | 10.1234567 | „1.012e+01“ |
g, G | Anzahl der zu druckenden Ziffern | %.5g | 10.1234567 | „10.123“ |
s | Anzahl der zu druckenden Zeichen | %.5s | „Hallo proggen.org“ | „Hallo“ |
s | Zusätzliches Argument, der dieses Argument beschreibt | %.*s | 5, „Hallo proggen.org“ | „Hallo“ |