Sdílet prostřednictvím


printf znaky pole Typ

Ve specifikaci formátu type znak je specifikátor převodu, která určuje, zda odpovídající argument, je interpretován jako znak, řetězec, ukazatel, celé číslo nebo číslo s plovoucí desetinnou čárkou.type Znak je pouze požadované pole Specifikace formátu a zobrazí se po všechna volitelná pole.

Argumenty, které následují formátovacím řetězci jsou interpretovány podle odpovídajících type znak a volitelný velikost předpony.Převody typů znaků char a wchar_t jsou určeny pomocí c nebo C, a jednobajtové a vícebajtové nebo široký znak řetězce, které jsou určeny pomocí s nebo Sv závislosti na použitém formátování funkce.Řetězec znaků a argumenty, které jsou určeny pomocí c a s jsou interpretovány jako char a char* ve printf řady funkcí, nebo jako wchar_t a wchar_t* ve wprintf řady funkcí.Řetězec znaků a argumenty, které jsou určeny pomocí C a S jsou interpretovány jako wchar_t a wchar_t* ve printf řady funkcí, nebo jako char a char* ve wprintf řady funkcí.

Integer types such as short, int, long, long long, and their unsigned variants, are specified by using d, i, o, u, x, and X.Floating-point types such as float, double, and long double, are specified by using a, A, e, E, f, g, and G.Ve výchozím nastavení Pokud se změnil size pole Délka předpony, jsou přiřazena celočíselných argumentů int typ a argumenty s plovoucí desetinnou čárkou jsou přiřazena double.V 64bitových systémech int je 32bitová hodnota; proto 64bitová celá čísla budou zkráceny, když jsou formátovány pro výstup, dokud size předponu ll nebo I64 se používá.Typy ukazatelů, které jsou určeny p použít výchozí délku pro platformu.

[!POZNÁMKA]

C, S, A Z zadejte znaky a chování c a s znaky, pokud jsou používány s printf a wprintf funkcí, jsou rozšíření Microsoft a nejsou kompatibilní ANSI.Visual C++nepodporuje F znak.

printf typ pole znaků

Znak typu

Argument

Výstupní formát

c

Znak

Při použití s printf funkce, určuje jednobajtových znaků; Při použití s wprintf funkce, určuje širokého znaku.

C

Znak

Při použití s printf funkce, určuje širokého znaku; Při použití s wprintf funkce, určuje jednobajtových znaků.

d

Integer

Desetinné číslo se znaménkem.

i

Integer

Desetinné číslo se znaménkem.

o

Integer

Osmičkové číslo bez znaménka.

u

Integer

Desítkové číslo bez znaménka.

x

Integer

Šestnáctkové číslo bez znaménka; používá "abcdef".

X

Integer

Šestnáctkové číslo bez znaménka; používá "ABCDEF".

e

S plovoucí desetinnou čárkou

Podepsanou hodnotu, která má tvar [-]d.dddde znakdd[d] kde d je jednu desítkovou číslici, dddd je jeden nebo více desítkových číslic, dd[d] se dva nebo tři desítkové číslice, podle toho výstupní formát a velikost exponent, a znak je + nebo –.

E

S plovoucí desetinnou čárkou

Stejné jako e formátování kromě E spíše než e zavádí exponent.

f

S plovoucí desetinnou čárkou

Podepsanou hodnotu, která má tvar [-]dddd.dddd, kde dddd je jeden nebo více desítkových číslic.Počet číslic, před desetinnou čárkou, závisí na velikosti číslo a počet číslic po desetinné čárky závisí na požadované přesnosti.

g

S plovoucí desetinnou čárkou

Podepsané hodnoty jsou zobrazeny v f nebo e formátování, podle toho, co je pro danou hodnotu a přesnost kompaktnější.e Formát se používá pouze v případě, že exponent hodnota je menší než –4 nebo větší než nebo rovná precision argument.Koncové nuly jsou odstraněny a desetinné čárky se zobrazí pouze v případě, že je jeden nebo více číslic podle něj.

G

S plovoucí desetinnou čárkou

Stejné jako g formátu, s výjimkou případů, které E, spíše než e, zavádí exponent (případně).

a

S plovoucí desetinnou čárkou

Podepsané šestnáctkovou hodnotu s plovoucí desetinnou čárkou s dvojitou přesností, která má tvar [−] 0 xh.hhhhdd, kde h.hhhh jsou šestnáctkových číslic (pomocí malých písmen) v mantise a dd jsou jeden nebo více číslic exponentu. Přesnost určuje počet číslic za bodem.

A

S plovoucí desetinnou čárkou

Podepsané šestnáctkovou hodnotu s plovoucí desetinnou čárkou s dvojitou přesností, která má tvar [−] 0 Xh.hhhhdd, kde h.hhhh jsou šestnáctkových číslic (s použitím velkých písmen) v mantise a dd jsou jeden nebo více číslic exponentu. Přesnost určuje počet číslic za bodem.

n

Ukazatel na celé číslo

Počet znaků, které úspěšně zapsány tak daleko do datového proudu nebo vyrovnávací paměti.Tato hodnota je uložena v celé číslo, jehož adresa je uvedena jako argument.Viz poznámka zabezpečení dále v tomto článku.

p

Typ ukazatele

Argument se zobrazí jako adresu v šestnáctkové číslice.

s

Řetězec

Při použití s printf funkce, určuje jednobajtové a vícebajtové znakové řetězce; Při použití s wprintf funkce, určuje řetězce širokého znaku.Znaky se zobrazí první znak null nebo dokud precision je dosaženo hodnoty.

S

Řetězec

Při použití s printf funkce, určuje řetězce širokého znaku; Při použití s wprintf funkce, určuje jednobajtové a vícebajtové znakové řetězce.Znaky se zobrazí první znak null nebo dokud precision je dosaženo hodnoty.

Z

ANSI_STRINGnebo UNICODE_STRING struktury

Při adresu ANSI_STRING nebo UNICODE_STRING struktury je předán jako argument, zobrazí řetězec, který je obsažen ve vyrovnávací paměti, který se odkazuje Buffer pole struktury.Použijte modifikátor předponou délky w k určení UNICODE_STRING argument – například %wZ.Length Pole struktury musí být nastaven na délku řetězce v bajtech.MaximumLength Pole struktury musí být nastavena na délce vyrovnávací paměti v bajtech.

Obvykle Z typ znak se používá pouze v ovladači ladění funkce využívající specifikaci formátu, jako je například dbgPrint a kdPrint.

Je-li argument, který odpovídá specifikátor převodu s plovoucí desetinnou čárkou je neomezená, neurčitou nebo NAN, v následující tabulce jsou uvedeny formátovaný výstup.

Value

Výsledek

+ nekonečno

1. #INFnáhodně zvolené číslice

– nekonečno

–1. #INFnáhodně zvolené číslice

Neurčitý (totéž jako bezobslužný NaN)

číslice. #INDnáhodně zvolené číslice

NAN

číslice. #NANnáhodně zvolené číslice

[!POZNÁMKA]

Pokud Buffer pole argumentu, který odpovídá %Z, nebo argument, který odpovídá %s nebo %S, je nulový ukazatel (prázdné)"se zobrazí.

[!POZNÁMKA]

Všechny formáty exponenciální je výchozí počet číslic exponentu zobrazit tři.Při použití _set_output_format funkce, můžete nastavit počet číslic zobrazených na dva, ale rozdělení na tři, je-li požadováno podle velikosti exponent.

Poznámka k zabezpečeníPoznámka k zabezpečení

Protože %n formát je ze své podstaty nezabezpečené, je ve výchozím nastavení zakázána.Pokud %n se narazí ve formátovacím řetězci, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů.Chcete-li povolit %n podpory naleznete v tématu _set_printf_count_output.

Viz také

Referenční dokumentace

printf, _printf_l, wprintf, _wprintf_l

Syntaxe specifikace formátu: funkce printf a wprintf

Příznak směrnic

Šířka specifikace printf

Přesné specifikace.

Velikost specifikace

_set_output_format