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.hhhhp±dd, 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.hhhhP±dd, 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í |
---|
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