Syntax der Formatangabe: printf- und wprintf-Funktionen
Beschreibt die Syntax für Formatzeichenfolgenargumente zu printf, zu wprintf und zu verwandten Funktionen.Sicherere Versionen dieser Funktionen sind verfügbar; weitere Informationen finden Sie unter Sicherheitsfeatures im CRT.Informationen zu den einzelnen Funktionen, finden Sie in der Dokumentation für diese speziellen Features.Eine Liste dieser Funktionen, finden Sie unter Stream E/A.
Eine Formatangabe, die optionales und aus Pflichtfeldern besteht, hat das folgende Format:
%Flags[] [] [Breite.Genauigkeit[] {h | l | ll | w | I | I32 | I64}] Typ
Jedes Feld der Formatangabe ist ein Zeichen oder eine Zahl, die einen bestimmten Formatoptions- oder -Konvertierungsspezifizierer angibt.Das erforderliche type Zeichen gibt die Art der zu an einem Argument angewendet werden, Konvertierung.Optionale flags, width und die precision Feldsteuerzusätzlichen Formataspekte.Eine grundlegende Formatangabe enthält nur das Prozentzeichen und type Zeichen – z. B. %s, das eine Zeichenfolgenkonvertierung angibt.Wenn ein Prozentzeichen von einem Zeichen folgt, das keine Bedeutung hat, während ein Formatfeld, das Zeichen unverändert an die Ausgabe kopiert wird.Um ein Prozentzeichen zu drucken, verwenden Sie %%.
Die Felder der Formatangabe steuern die folgenden Aspekte der Argumentkonvertierung und die Formatierung des Datenfelds:
type
Erforderliches Konvertierungsspezifiziererzeichen, das bestimmt, ob zugeordnete argument Zeichen, als Zeichenfolge, ganze Zahl oder Gleitkommazahl interpretiert wird.Weitere Informationen finden Sie unter printf-Typ-Feld-Zeichen.flags
Optionales Zeichen oder die Zeichen, Ausgaberechtfertigung und Ausgabe von Zeichen, der Leerzeichen, von führenden Nullen, von Dezimaltrennzeichen und von oktalen und der hexadezimalen Präfixen steuern.Weitere Informationen finden Sie unter Flags-Direktive.Mehr als ein Flag kann in einer Formatangabe angezeigt werden, und Flags können in beliebiger Reihenfolge angezeigt werden.width
Optionale Dezimalzahl, die die kleinste Anzahl von Zeichen an, die ausgegeben werden.Weitere Informationen finden Sie unter printf-Breitenangabe.precision
Optionale Dezimalzahl, die die maximale Anzahl von Zeichen an, die für Zeichenfolgen, die Anzahl der signifikanten Stellen oder die Anzahl der Ziffern nach dem Dezimaltrennzeichenzeichen für Gleitkommawerte gedruckt werden oder die Mindestanzahl der Ziffern, die für ganzzahlige Werte gedruckt werden.Weitere Informationen finden Sie unter "wie Genauigkeits-Werts-Affekt-Typ" in Genauigkeits-Spezifikation.h | l | ll | w | I | I32 | I64
Optionale Präfixe zu type, die die Größe des entsprechenden Arguments angeben.Weitere Informationen finden Sie unter, dass " Größe" in Größen-Spezifikation vorangestellt wird.
Sicherheitshinweis |
---|
Stellen Sie sicher, dass Formatangabenzeichenfolgen keine benutzerdefinierten sind.Betrachten Sie beispielsweise ein Programm, das den Benutzer auffordert, einen Namen einzugeben und speichert die Eingabe in eine Zeichenfolgenvariable, die name genannt wird.Um name zu drucken, tun Sie dies: printf( name ); /* Danger! If name contains "%s", program will crash */ Stattdessen wird dazu: printf( "%s", name ); |
Siehe auch
Referenz
printf, _printf_l, wprintf, _wprintf_l
_printf_s_l, wie, wprintf_s, _wprintf_s_l