kennen:lib:printf
Inhaltsverzeichnis
printf()
Parameter
format | Formatzeichenkette |
… | weitere Argumente je nach Platzhalter |
Die Formatzeichenkette der printf()
-Familie
kann neben gewöhnlichen Zeichen
Platzhalter für andere Werte besitzen.
Nach einem %
-Zeichen folgen optional
- ein
-
für linksbündige Ausgabe, ein+
(immer mit Vorzeichen), ein Leerzeichen (vor positiver Zahl), ein#
für "alternative Darstellung", (bei Oktal- und Hexadezimalausgabe mit Anzeige der Basis0
bzw.0x
) oder eine0
(zum Auffüllen mit führenden Nullen), - eine Ausgabefeldbreite als Ganzzahl oder, falls ein
*
da steht, aus dem nächsten noch nicht verarbeiteten Argument der variablen Argumentliste, - nach einem
.
eine Präzisionsangabe für die Anzahl von Nachkommastellen gebrochener Zahlen bzw. für die minimale Stellenzahl bei Ganzzahlen –die Angabe erfolgt als Ganzzahl oder bei*
aus dem nächsten Argument der variablen Argumentliste–, - ein Längen-Modifizierer wie
hh
bei Zeichen für Zahl-Ausgabe,h
beishort int
,l
long
oderL
beilong double
,
Der Platzhalter wird zwingend abgeschlossen durch einen Konversionsbuchstaben:
d oder i | dezimal integer |
o , u , x , X | oktal, vorzeichenlos dezimal, hexadezimal mit Klein-/Großbuchstaben |
f , F | double in der Form ddd.ddd |
e , E | double in Zehnerpotenz-Schreibweise |
g , G | double in einer kürzeren der beiden oberen Formen |
c | ein Zeichen |
s | C-Zeichenkette |
p | Zeiger als Hexadezimalzahl |
n | Anzahl bisher geschriebener Zeichen (in int* -Argument abzulegen) |
% | Prozentzeichen wird geschrieben (weiteres kein Argument erforderlich) |
Den Platzhaltern wird ein folgendes Argument mit dem passenden Typ zugeordnet.
Ergebnis
Rückgabewert: Anzahl der ausgegebenen Zeichen, bei Ausgabefehler einen negativen Wert.
Passen irgendein Platzhalter und der Argumenttyp nicht, ist das Verhalten undefiniert.
Siehe auch
Beispiel
- printf.cpp
#include <cstdio> using namespace std; int main() { char *str = "Hallo"; printf("%s%c %s Nr. %d\n", // Platzhalter // / | \ | str,',',"Welt",1); // einzusetzende Werte printf("Gebrochene Zahl im \"Waehrungsformat\" : %+10.2f\n", 123.4567); printf("Amerika ist %s,\nDeutschland ist %s.\n\t---[%s]\n", "ein gefaehrliches Land", "AOK", "Martin Walser"); }
kennen/lib/printf.txt · Zuletzt geändert: 2019-11-20 16:00 von 127.0.0.1