Freigeben über


printf-Typenfeldzeichen

In einer Formatangabe ist das type Zeichen ein dem Konvertierungsspezifizierer, der angibt, ob das entsprechende Argument als Zeichen, Zeichenfolge, Zeiger, Ganzzahl- oder Gleitkommazahl interpretiert werden soll. Das Zeichen type ist das einzige erforderliche Formatangabenfeld, und wird nach allen optionalen Feldern.

Die Argumente, die der Formatzeichenfolge folgen, werden nach dem entsprechenden type Zeichen und dem optionalen Präfix Größe interpretiert. Konvertierungen für Zeichentypen char und wchar_t angegeben, indem Sie c oder C verwendet, und Einzelbyte- und MULTIByte oder Zeichenfolgen mit Breitzeichen werden angegeben, indem Sie s oder S verwendet, von denen je Formatierungsfunktion verwendet wird. Zeichen und die Argumente, die angegeben werden, indem c verwendet und s als char und char* von printf Familienfunktionen interpretiert werden oder als wchar_t und wchar_t* von wprintf Familienfunktionen. Zeichen und die Argumente, die angegeben werden, indem C verwendet und S als wchar_t und wchar_t* von printf Familienfunktionen interpretiert werden oder als char und char* von wprintf Familienfunktionen.

Ganzzahl- gibt wie short, int, long, long long, und ihre unsigned Varianten, angegeben werden, indem d, i, o, u, x und X verwendet. Gleitkommatypen wie float, double und long double, angegeben werden, indem a, A, e, E, f, g und G verwendet. Standardmäßig, sofern sie nicht durch ein size Feldlängenpräfix geändert werden, werden ganzzahlige Argumente an int-Typ umgewandelt, und Gleitkommaargumente werden in double umgewandelt. Bei 64-Bit-Systemen ist int 32-Bit-Wert; Daher werden 64-Bit-Ganzzahlen verkürzt, wenn sie für Ausgabezwecke formatiert werden, es sei denn, dass ein size Präfix von ll oder I64 verwendet wird. Zeigertypen, die von p verwendet die Standardlänge für die Plattform angegeben werden.

Hinweis

C, S und Z-Typzeichen und das Verhalten der c und Typzeichen s, wenn sie mit den Funktionen printf und wprintf verwendet werden, wenn die Microsoft-Erweiterungen sind und nicht konformem ANSI sind.Visual C++ unterstützt nicht das Typzeichen F.

printf-Typ-Feld-Zeichen

Typzeichen

Argument

Ausgabeformat

c

Zeichen

Wenn Sie mit printf verwendet werden, wird, gibt ein Einzelbytezeichen an; wenn mit wprintf verwendet werden, wird, gibt einem Breitzeichen an.

C

Zeichen

Wenn Sie mit printf verwendet werden, wird, gibt einem Breitzeichen an; wenn mit wprintf verwendet werden, wird, gibt ein nebeneinander an.

d

Integer

Dezimales ganze Zahl mit Vorzeichen.

i

Integer

Dezimales ganze Zahl mit Vorzeichen.

o

Integer

Oktale ganze Zahl ohne Vorzeichen.

u

Integer

Dezimales ganze Zahl ohne Vorzeichen.

x

Integer

Hexadezimale ganze Zahl ohne Vorzeichen; Verwendung "abcdef".

X

Integer

Hexadezimale ganze Zahl ohne Vorzeichen; Verwendung "ABCDEF".

e

Gleitkomma

Wert mit Vorzeichen im Format [ – ]d.dddd e [Vorzeichen]dd[d], wobei d eine Dezimalstelle ist, dddd eine oder mehrere Dezimalstellen, ist dd[d] zwei oder drei Dezimalstellen abhängig vom Ausgabeformat und der Größe und Exponentenwerte, Vorzeichen oder -.

E

Gleitkomma

Entspricht dem e - Stil außer dass E statt e stellt den Exponenten vor.

f

Gleitkomma

Wert mit Vorzeichen im Format [ – ]dddd.dddd, wobei dddd eine oder mehrere Dezimalstellen sind. Die Anzahl der Ziffern vor dem Dezimaltrennzeichen ist abhängig von der Größe der Zahl, und die Anzahl der Ziffern nach dem Dezimaltrennzeichen ist abhängig von der angeforderten Genauigkeit.

g

Gleitkomma

Werte mit Vorzeichen werden in f oder e, welches Format angezeigt kompakter für den angegebenen Wert und die Genauigkeit ist. Das e - Format wird nur bei der Exponent des Werts kleiner als - 4 oder größer oder gleich dem precision-Argument verwendet. Nachfolgende Nullen werden abgeschnitten und das Dezimaltrennzeichen wird nur angezeigt, wenn mindestens Ziffern ihn befolgen.

G

Gleitkomma

Entspricht dem g Format, außer dass E, und nicht e, den Exponenten einführt (ggf.).

a

Gleitkomma

Hexadezimale Gleitkommazahl mit doppelter Genauigkeit mit Vorzeichen im Format [−]0xh.hhhh dd, wobei h.hhhh die hexadezimalen Ziffern (mit Kleinbuchstaben) der Mantisse und dd ein oder mehr Ziffern für den Exponenten sind. Die Genauigkeit gibt die Anzahl von Ziffern nach dem Punkt an.

A

Gleitkomma

Hexadezimaler Gleitkommazahl mit doppelter Genauigkeit mit Vorzeichen im Format [−]0Xh.hhhh dd, wobei h.hhhh die hexadezimalen Ziffern (mit Großbuchstaben) der Mantisse und dd ein oder mehr Ziffern für den Exponenten sind. Die Genauigkeit gibt die Anzahl von Ziffern nach dem Punkt an.

n

Zeiger die ganze Zahl

Anzahl Zeichen, die erfolgreich bis jetzt zum Stream oder in den Puffer geschrieben werden. Dieser Wert wird in die Ganzzahl gespeichert, dessen Adresse als Argument erhält. Siehe den Sicherheitshinweis später in diesem Artikel.

p

Zeigertyp

Zeigt das Argument als Adresse in den Folgendes an.

s

Zeichenfolge

Wenn Sie mit printf-Funktionen verwendet werden, gibt eine Einzelbyte- oder MULTIBytezeichenfolge an; wenn mit wprintf verwendet werden, wird, gibt eine Zeichenfolge mit Breitzeichen an. Zeichen sind bis zum ersten NULL-Zeichen angezeigt, oder bis precision wird der Wert erreicht.

S

Zeichenfolge

Wenn Sie mit printf verwendet werden, wird, gibt eine Zeichenfolge mit Breitzeichen an; wenn mit wprintf-Funktionen verwendet werden, gibt eine Einzelbyte- oder MULTIBytezeichenfolge an. Zeichen sind bis zum ersten NULL-Zeichen angezeigt, oder bis precision wird der Wert erreicht.

Z

ANSI_STRING oder UNICODE_STRING-Struktur

Wenn die Adresse von ANSI_STRING oder UNICODE_STRING von Struktur als Argument übergeben wird, zeigt die Zeichenfolge, die im Puffer enthalten wird, auf den das Buffer Feld der Struktur angezeigt wird. Verwenden Sie ein Längenmodifiziererpräfix von w, um UNICODE_STRING-Argument – z. B. %wZ anzugeben. Das Length - Feld der Struktur muss auf die Länge, in Bytes, der Zeichenfolge festgelegt werden. Das MaximumLength - Feld der Struktur muss auf die Länge, in Bytes, eines Puffers festgelegt werden.

In der Regel wird das Z-Typzeichen nur im Treiber verwendet, den, Debuggen, das eine Formatangabe verwenden, wie dbgPrint und kdPrint verwendet wird.

Wenn das Argument, das einem Gleitkommakonvertierungsspezifizierer entspricht, unendlich ist, unendlich oder NAN, wird folgende Tabelle der formatierten Ausgabe auf.

Wert

Ausgabe

+ Unendlich

1.#INFZufälligZiffern

- Infinity

- 1.#INFZufälligZiffern

Unbegrenzt (identisch auf stille Art NaN)

DigitrandomZiffern. #IND

NAN

DigitrandomZiffern. #NAN

Hinweis

Wenn das Buffer Feld des Arguments, das zu %Z oder vom Argument entspricht, das an %s oder %S entspricht, ein NULL-Zeiger ist, "(NULL)" angezeigt wird.

Hinweis

In allen exponentiellen Methoden liegt die Standardanzahl von Ziffern anzuzeigen Exponentenwerte sich drei.Durch die _set_output_format-Funktion verwenden, können Sie die Anzahl der Ziffern festlegen, die auf zwei aber dem Erweitern bis drei angezeigt werden, wenn durch die Größe Exponentenwerte geforderte.

SicherheitshinweisSicherheitshinweis

Da %n das Format grundsätzlich Sicherheitsrisiko, wird es standardmäßig deaktiviert.Wenn %n in einer Formatzeichenfolge erreicht wird, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Um %n Unterstützung zu ermöglichen, finden Sie unter _set_printf_count_output.

Siehe auch

Referenz

printf, _printf_l, wprintf, _wprintf_l

Syntax der Formatangabe: printf- und wprintf-Funktionen

Flag-Direktiven

printf-Breitenangabe

Genauigkeitsangabe

Größenangabe

_set_output_format