C printf/scanf syntax
|
Parameter
|
Beschreibung
|
|
* NUR scanf
|
optional, Zuweisung zum korrespondierenden Zeiger unterdrücken
|
|
Flags NUR printf
|
optional, bestimmt über numerische Vorzeichen, Dezimalpunkte, link/rechtsbündigkeit und anderes
|
|
Breite
|
optional, minimal auszugebende Zeichenzahl. Der Rest wird mit Leerzeichen oder Nullen aufgefüllt.
|
|
F/N NUR scanf
|
optional, Größe des Adress-Parameters
|
|
.Präzision
|
optional, Angabe, wie präzise die Ausgabe sein soll
|
|
F/N/hh/h/l/ll/L
|
optional, Angabe der Größe des Parameters
|
|
Typ
|
obligatorisch, Angabe des Typs der auszugebenden Variablen
|
|
Es dürfen nur Platzhalter und Leerzeichen verwendet werden
|
|
Anstatt %s kann auch %[Suchzeichen] genutzt werden.
Beispiel: %[abcd] erwartet nur Eingaben, die aus den Zeichen a, b, c, d bestehen. Bei allen anderen wird die Eingabe beendet. |
|
Wird als erstes Suchzeichen das Carret (^) verwendet, wird die Eingabe beendet, wenn eines der Suchzeichen eingegeben wird.
Beispiel: %[^abcd] erwartet nur Eingaben, die nicht aus den Zeichen a, b, c, d bestehen. Die Eingabe wird auch nicht bei weißen Leerzeichen beendet. |
|
Anstelle von Zeichenaufzählungen können auch Bereiche angegeben werden.
Beispiel: % [0123456789] ist äquivalent mit %[0-9] |
|
Bei manchen Compilern kann bzw. muss bei der Formatangabe das s angehangen werden.
|
|
Flag
|
Effekt
|
|
-
|
linksbündige Ausgabe
|
|
+
|
numerische Ausgabe immer mit Vorzeichen
|
|
<Leerzeichen>
|
Positiven Zahlen wird ein Leerzeichen voran gestellt
|
|
#
|
Alternative Darstellung
|
|
Breite
|
Ausgabe
|
|
n
|
(n = Dezimalzahl) - Es werden mind. n Zeichen ausgegeben und notfalls führende Leerzeichen genutzt.
|
|
0n
|
(Dezimalzahl mit vorangestellter 0) - Es werden mind. n Zeichen ausgegeben und mit Nullen mit führenden Nullen aufgefüllt.
|
|
*n
|
Breite variabel bestimmbar
|
printf("%d\n", Breite, Wert); //Breite muss int sein!
|
Größenangabe
|
Datentyp
|
|
hh3
|
char
|
|
h1
|
short
|
|
l
|
long
|
|
ll3
|
long long
|
|
L
|
long double
|
|
F4
|
Far (Zeiger)
|
|
N4
|
Near (Zeiger)
|
|
Präzision
|
Ausgabe
|
|
.0
|
Standardausgabe - keine Ausgabe von Dezimalpunkt und Nachkommastellen für Fließkommazahlen
|
|
.n
|
n = Dezimalzahl
|
|
.*
|
variable Präzision
|
printf("%.f\n", Breite, Präzision, Wert); //Breite und Präzision müssen int sein!|
Typ
|
Ausgabe
|
|
d / i
|
dezimaler Integer
|
|
u
|
vorzeichenloser dezimaler Integer
|
|
o
|
vorzeichenloser oktaler Integer
|
|
x / X
|
vorzeichenloser hexadezimaler Integer
|
|
f / F
|
dezimale Fließkommazahl
|
|
e / E
|
dezimale Fließkommazahl in Exponentendarstellung
|
|
g / G
|
wie e/E, aber in Kurzform
|
|
c
|
Zeichen
|
|
s
|
Zeichenkette bis zu einem Nullzeichen oder dem Erreichen der Präzision
|
|
p
|
Zeigeradresse
|
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.