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 AnyWare@Wachtler.de