Der Formatstring besteht aus auszugebenden Zeichen und Steuersequenzen.
Jede Steuersequenz beginnt mit einem Prozentzeichen (%) und endet mit der eigentlichen Direktive (d, i, o, etc.):
| Direktive: | Argument: | Ausgabe: | Besonderheiten: |
| %d | int | Dezimalzahl | Genauigkeit= Mindestanzahl Zeichen |
| %i | int | Dezimalzahl | Genauigkeit= Mindestanzahl Zeichen |
| %u | unsigned int | Dezimalzahl | Genauigkeit= Mindestanzahl Zeichen |
| %o | unsigned int | Oktalzahl | Genauigkeit= Mindestanzahl Zeichen
# erzeugt eine führende Null. |
| %x | unsigned int | Sedezimalzahl (Basis 16) | Ziffern 0-9, a-f |
| %X | unsigned int | Sedezimalzahl (Basis 16) | Ziffern 0-9, A-F |
| %e | double | zum Beispiel 1.234567e-15 |
Genauigkeit= Anzahl Nachkommastellen
# gibt Dezimalpunkt auch aus, wenn Genauigkeit==0 ist. |
| %E | double | zum Beispiel 1.234567E-15 |
Genauigkeit= Anzahl Nachkommastellen
# gibt Dezimalpunkt auch aus, wenn Genauigkeit==0 ist. |
| %f | double | zum Beispiel 1.234567 | Genauigkeit= Anzahl Nachkommastellen
|
| %g | double | wie Format %e oder %f, je nach Zahlenwert | Genauigkeit= Anzahl Nachkommastellen
# verhindert das Entfernen von abschließenden Nullen |
| %G | double | wie Format %E oder %f, je nach Zahlenwert | # verhindert das Entfernen von abschließenden Nullen
|
| %c | int | ein Zeichen des Zeichensatzes | |
| %s | char * | Inhalt einer nullterminierten Zeichenkette | |
| %p | void * | Wert des Zeigers (also eine Adresse)
|
# bewirkt Voranstellen von 0x
|
| %n | int * | -- | An der Stelle im Speicher, auf die das Argument zeigt, wird die Anzahl der bisher mit diesem Funktionsaufruf ausgegebenen Zeichen abgelegt.
|
| %% | -- | Prozentzeichen % |
Zwischen dem einleitenden Prozentzeichen und der Direktive darf eine Auswahl folgender Steuerbefehle eingesetzt werden:
| Steuerbefehl: | Wirkung: |
| + | positive Zahlen werden mit Vorzeichen ausgegeben |
| (Leerz.) | positive Zahlen werden mit führendem Leerzeichen ausgegeben |
| 0 | Es wird auf die Feldbreite nicht mit Leerzeichen, sondern mit Nullen aufgefüllt |
| - | Ausgabe linksbündig in der Feldbreite |
| # | alternative Ausgabe, je nach Direktive |
| Feldbreite (als Zahl) | Mindestzahl der auszugebenden Zeichen (ggf. Auffüllen mit Leerzeichen) |
| (oder als *) | Mindestzahl muß noch vor dem auszugebenden Argument als short int übergeben werden |
| Genauigkeit (als Punkt . mit nachfolgender Zahl) | auszugebende Genauigkeit (max. Länge bei %s) |
| (oder als .*) | Genauigkeit muß noch vor dem auszugebenden Argument als short int übergeben werden |
|
Objektgröße:
einer der
Buchstaben: |
Speichergröße des auszugebenden Objekts: |
| h, | short int statt int |
| l, | long int statt int |
| L | long double statt double |
AnyWare@Wachtler.de