Udostępnij za pośrednictwem


printf wpisz znaki pola

W specyfikacji formatu type znak jest specyfikator konwersji, która określa, czy ma być interpretowane jako znak, ciąg, wskaźnik, liczba całkowita lub liczba zmiennoprzecinkowa odpowiednie argumenty.type Znak jest jedynym wymaganym polu specyfikacja formatu i wydaje się po jakieś pola opcjonalne.

Argumenty, które należy wykonać ciąg formatu są interpretowane zgodnie z odpowiadających im type charakter i opcjonalnej rozmiar prefiksu.Konwersje typów znaków char i wchar_t są określane za pomocą c lub C, i ciągi znaków jednobajtowych i wielobajtowego lub szeroki charakter są określane za pomocą s lub S, w zależności od funkcji formatowania jest używany.Znak i łańcuch argumentów, które są określane za pomocą c i s są interpretowane jako char i char* przez printf funkcje systemów z rodziny, lub jako wchar_t i wchar_t* przez wprintf funkcje systemów z rodziny.Znak i łańcuch argumentów, które są określane za pomocą C i S są interpretowane jako wchar_t i wchar_t* przez printf funkcje systemów z rodziny, lub jako char i char* przez wprintf funkcje systemów z rodziny.

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.Domyślnie chyba że zostaną one zmienione przez size pola Długość prefiksu całkowitą argumenty są przekształcone na int typu i zmiennoprzecinkowych argumenty są przekształcone na double.W systemach 64-bitowym int jest wartością 32-bitowe; w związku z tym, zostaną obcięte 64-bitowe liczby całkowite, gdy są formatowane do wydruku o ile nie size prefiks ll lub I64 jest używana.Typami wskaźników, które są określone przez p używać domyślną długość platformy.

[!UWAGA]

C, S, I Z wpisz znaki, a zachowanie c i s wpisz znaki, jeśli są używane z printf i wprintf funkcji, są rozszerzenia Microsoft i nie są zgodne ANSI.Visual C++nie obsługuje F należy wpisać znak.

printf znakami pola typu

Znaku typu

Argument

Format danych wyjściowych

c

Znak

Gdy używana z printf funkcje, a określa znaków jednobajtowych; gdy używana z wprintf funkcje, a określa znak dwubajtowy.

C

Znak

Gdy używana z printf funkcje, a określa znak dwubajtowy; gdy używana z wprintf funkcje, a określa znaków jednobajtowych.

d

Liczba całkowita

Podpisana liczba dziesiętna.

i

Liczba całkowita

Podpisana liczba dziesiętna.

o

Liczba całkowita

Liczba całkowita ósemkową bez znaku.

u

Liczba całkowita

Dziesiętna liczba całkowita bez znaku.

x

Liczba całkowita

Szesnastkowa liczba całkowita bez znaku; używa "abcdef."

X

Liczba całkowita

Szesnastkowa liczba całkowita bez znaku; używa "ABCDEF."

e

Zmiennoprzecinkowe

Podpisane wartość, która ma postać [-]d.dddde znakdd[d] gdzie d jest jednej cyfry dziesiętnej, dddd jest jeden lub więcej cyfr dziesiętnych, dd[d] jest dwóch lub trzech cyfr dziesiętnych w zależności od format danych wyjściowych i rozmiar wykładnik potęgi, a znak jest + lub.

E

Zmiennoprzecinkowe

Identyczne z e formatowania z wyjątkiem, że E a nie e wprowadza wykładnik potęgi.

f

Zmiennoprzecinkowe

Podpisane wartość, która ma postać [-]dddd.dddd, gdzie dddd jest jeden lub więcej cyfr dziesiętnych.Liczba cyfr przed separatorem dziesiętnym zależy od wielkości numeru oraz liczbę cyfr po przecinku zależy od żądanej dokładności.

g

Zmiennoprzecinkowe

Podpisane wartości są wyświetlane w f lub e sformatować, którakolwiek z dat jest bardziej zwarty danej wartości i precyzji.e Format jest używany tylko wtedy, gdy wykładnik wartości jest mniejsza niż 4 lub większa niż lub równą precision argument.Końcowe zera są ucinane i dziesiętnego pojawia się tylko wtedy, gdy jeden lub więcej cyfr po nim następują.

G

Zmiennoprzecinkowe

Identyczne z g sformatować, chyba że E, a nie e, wprowadza wykładnik potęgi (w stosownych przypadkach).

a

Zmiennoprzecinkowe

Podpisany szesnastkową wartość zmiennoprzecinkowa podwójnej precyzji, który ma postać [−] 0 xh.hhhhdd, gdzie h.hhhh są cyfr szesnastkowych (przy użyciu małych liter) mantysy, i dd są co najmniej jedną cyfrę wykładnik. Dokładność określa liczbę cyfr po separatorze.

A

Zmiennoprzecinkowe

Podpisany szesnastkową wartość zmiennoprzecinkowa podwójnej precyzji, który ma postać [−] 0 Xh.hhhhdd, gdzie h.hhhh są cyfr szesnastkowych (przy użyciu wielkich liter) mantysy, i dd są co najmniej jedną cyfrę wykładnik. Dokładność określa liczbę cyfr po separatorze.

n

Wskaźnik do liczby całkowitej

Liczba znaków, które są pomyślnie zapisane do tej pory strumienia lub buforu.Wartość ta jest zapisana jako liczby całkowite, którego adres jest podany jako argument.Patrz Uwaga zabezpieczeń w dalszej części tego artykułu.

p

Typ wskaźnika

Wyświetla argument jako adresu cyfr szesnastkowych.

s

Ciąg

Gdy używana z printf funkcje, a określa ciąg znaków jednobajtowych lub wielobajtowego; gdy używana z wprintf funkcje, a określa łańcuch szerokich znaków.Znaki są wyświetlane, aż do pierwszego znaku null lub do precision jest osiągnięta wartość.

S

Ciąg

Gdy używana z printf funkcje, a określa łańcuch szerokich znaków; gdy używana z wprintf funkcje, a określa ciąg znaków jednobajtowych lub wielobajtowego.Znaki są wyświetlane, aż do pierwszego znaku null lub do precision jest osiągnięta wartość.

Z

ANSI_STRINGlub UNICODE_STRING struktury

Gdy adres ANSI_STRING lub UNICODE_STRING struktury jest przekazywana jako argument, wyświetla ciąg, który znajduje się w buforze, która jest wskazywana przez Buffer pole struktury.Użyj długość prefiksu modyfikator z w do określenia UNICODE_STRING argument — na przykład, %wZ.Length Pola struktury musi być równa długość ciągu w bajtach.MaximumLength Pola struktury musi być równa długość buforu w bajtach.

Zazwyczaj Z znaku typu jest używana tylko w sterownik debugowanie funkcje korzystające ze specyfikacją formatu, takich jak dbgPrint i kdPrint.

Jeśli argument, który odpowiada specyfikator zmiennoprzecinkowych konwersji jest nieskończony, taki termin jest nieokreślony lub NAN, Poniższa lista zawiera sformatowane dane wyjściowe.

Wartość

Dane wyjściowe

+ nieskończoność

1. #INFlosowe cyfry

-nieskończoność

Wartość –1. #INFlosowe cyfry

Nieokreślony (równoznaczny z cichego NaN)

cyfra. #INDlosowe cyfry

NAN

cyfra. #NANlosowe cyfry

[!UWAGA]

Jeśli Buffer pole argumentu, który odpowiada %Z, lub argumentu, który odpowiada %s lub %S, jest pusty wskaźnik "(null)" będą wyświetlane.

[!UWAGA]

We wszystkich formatach wykładniczej domyślna liczba cyfr wykładnikiem potęgi, do wyświetlania jest trzy.Za pomocą _set_output_format funkcji, można ustawić liczbę cyfr wyświetlane do dwóch, ale rozszerzanie do trzech, jeżeli wymagane przez rozmiar wykładnik.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Ponieważ %n format nie jest z natury bezpieczna, jest domyślnie wyłączona.Jeśli %n wystąpi w ciągu formatu programu obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Aby włączyć %n obsługi, zobacz _set_printf_count_output.

Zobacz też

Informacje

printf, _printf_l, wprintf, _wprintf_l

Składnia specyfikacji formatu: funkcje printf i wprintf

Flaga dyrektyw

printf specyfikacji szerokość

Specyfikacja stacji roboczej Precision

Specyfikacja rozmiar

_set_output_format