printf-Typ-Feld-Zeichen

In einer Formatangabe ist das type Zeichen ein Konvertierungsspezifizierer, der angibt, ob das entsprechende Argument als Zeichen, Zeichenfolge, Zeiger, ganze Zahl oder Gleitkommazahl interpretiert werden soll.Das type Zeichen 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 Größe Präfix interpretiert.Konvertierungen für Zeichentypen char und wchar_t werden angegeben, indem c oder C verwendet, und Einzelbyte- und MULTIByte oder Breitzeichen-Zeichenfolgen werden angegeben, indem s oder S verwendet, je nach Formatierungsfunktion verwendet wird.Zeichen und Zeichenfolgenargumente, die angegeben werden, indem c verwendet und s als char und char* durch printf Familienfunktionen interpretiert werden oder als wchar_t und wchar_t* durch wprintf Familienfunktionen.Zeichen und Zeichenfolgenargumente, die angegeben werden, indem C verwendet und S als wchar_t und wchar_t* durch printf Familienfunktionen interpretiert werden oder als char und char* durch wprintf Familienfunktionen.

Integer-Typen wie short, int, long, long long und ihre unsigned Varianten, werden angegeben, indem d, i, o, u, x und X verwendet.Gleitkommatypen wie float, double und long double, werden angegeben, 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 zu int-Typ umgewandelt, und Gleitkommaargumente werden zu double umgewandelt.Bei 64-Bit-Systemen ist int 32-Bit-Wert; Daher werden 64-Bit-Ganzzahlen abgeschnitten, wenn sie für Ausgabe formatiert werden, es sei denn, ein size Präfix von ll oder von I64 verwendet wird.Zeigertypen, die von p verwendet die Standardlänge für die Plattform angegeben werden.

HinweisHinweis

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

printf-Typ-Feld-Zeichen

Typzeichen

Argument

Ausgabeformat

c

Zeichen

Wenn Sie mit printf verwendet werden, funktioniert, gibt ein Einzelbytezeichen an; Wenn Sie mit wprintf verwendet werden, funktioniert, gibt ein Breitzeichen an.

C

Zeichen

Wenn Sie mit printf verwendet werden, funktioniert, gibt ein Breitzeichen an; Wenn Sie mit wprintf verwendet werden, funktioniert, gibt ein nebeneinander an.

d

Ganze Zahl

Dezimale ganze Zahl mit Vorzeichen.

i

Ganze Zahl

Dezimale ganze Zahl mit Vorzeichen.

o

Ganze Zahl

Oktale ganze Zahl ohne Vorzeichen.

u

Ganze Zahl

Dezimales ganze Zahl ohne Vorzeichen.

x

Ganze Zahl

Hexadezimale ganze Zahl ohne Vorzeichen; Verwenden Sie "abcdef".

X

Ganze Zahl

Hexadezimale ganze Zahl ohne Vorzeichen; Verwenden Sie "ABCDEF".

e

Gleitkomma

Wert mit Vorzeichen, der das Formular [] -d.dddd e Zeichen[]dd[d] verfügt, wo d eine Dezimalstelle ist, dddd ist eine oder mehrere Dezimalstellen, ist dd[d] zwei oder drei Dezimalstellen abhängig von Ausgabeformat und Größe des Exponenten, und Zeichen ist + oder -.

E

Gleitkomma

Entspricht dem e-Format, außer dass E statt e den Exponenten einführt.

f

Gleitkomma

Wert mit Vorzeichen, der die Form [ - ]dddd.dddd hat, wo 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 in e-Format angezeigt, das kompakter für den angegebenen Wert und die Genauigkeit ist.Das e Format wird nur bei der Exponent des Werts kleiner als ist –4 oder größer oder gleich dem precision-Argument verwendet.Nachfolgende Nullen werden abgeschnitten und das Dezimaltrennzeichen wird nur angezeigt, wenn eine oder mehrere Ziffern ihm folgen.

G

Gleitkomma

Entspricht dem g Format, außer dass zu E, anstatt e, stellt den Exponenten vor (bei Bedarf).

a

Gleitkomma

Hexadezimaler Gleitkommawert mit doppelter Genauigkeit mit Vorzeichen, der die Form [−]0x0xh.hhhhdd hat, wo die h.hhhh hexadezimalen Stellen (mithilfe der Kleinbuchstaben) der Mantisse sind und dd eine oder mehrere Ziffern für den Exponenten sind.Die Genauigkeit gibt die Anzahl der Ziffern nach dem Punkt an.

A

Gleitkomma

Hexadezimaler Gleitkommawert mit doppelter Genauigkeit mit Vorzeichen, der die Form [−]0X0Xh.hhhhdd hat, wo die h.hhhh hexadezimalen Stellen (mithilfe der Großbuchstaben) der Mantisse sind und dd eine oder mehrere Ziffern für den Exponenten sind.Die Genauigkeit gibt die Anzahl der Ziffern nach dem Punkt an.

n

Zeiger auf die ganze Zahl

Anzahl von Zeichen, die erfolgreich bis jetzt den Stream oder in den Puffer geschrieben werden.Dieser Wert wird in der ganzen Zahl gespeichert, deren Adresse als Argument angegeben wird.Siehe den Sicherheitshinweis später in diesem Artikel.

p

Zeigertyp

Zeigt das Argument als Adresse in den Hexadezimalzeichen an.

s

Zeichenfolge

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

S

Zeichenfolge

Wenn Sie mit printf verwendet werden, funktioniert, gibt eine Zeichenfolge mit Breitzeichen an; wenn Sie mit wprintf-Funktionen verwendet werden, gibt eine Einzelbyte- oder MULTIBytezeichenfolge an.Zeichen werden 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-Struktur als Argument übergeben wird, wird die Zeichenfolge an, die im Puffer enthalten ist, der von zum 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 zur Länge, in Bytes, der Zeichenfolge festgelegt werden.Das MaximumLength Feld der Struktur muss zur Länge, in Bytes, des Puffers festgelegt werden.

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

Wenn das Argument, das einem Gleitkommakonvertierungsspezifizierer entspricht, unendlich ist, endlos oder NAN, zeigt die folgende Tabelle die formatierte Ausgabe auf.

Wert

Ausgabe

+ unendlich

1.#INFZufälligZiffern

- Infinity

- 1.#INFZufälligZiffern

Unbestimmt (wie auf stille Art NaN)

DigitrandomZiffern. #IND

NAN

DigitrandomZiffern. #NAN

HinweisHinweis

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

HinweisHinweis

In allen exponentiellen Formaten ist die standardmäßige Anzahl von Ziffern anzuzeigen Exponentenwerte drei.Mithilfe der _set_output_format-Funktion verwenden, können Sie die Anzahl von Ziffern festlegen, die zwei jedoch zum Erweitern bis drei angezeigt werden, wenn es durch die Größe des Exponenten angefordert.

SicherheitshinweisSicherheitshinweis

Da das %n Format grundsätzlich nicht sicher ist, 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 aktivieren, finden Sie unter _set_printf_count_output.

Siehe auch

Referenz

printf, _printf_l, wprintf, _wprintf_l

Syntax der Formatangabe: printf- und wprintf-Funktionen

Flags-Direktive

printf-Breitenangabe

Genauigkeits-Spezifikation

Größen-Spezifikation

_set_output_format