_get_printf_count_output
Wskazuje, czy funkcje , , wprintf
_printf_l
,_wprintf_l
-family obsługują format %n.printf
Składnia
int _get_printf_count_output();
Wartość zwracana
Wartość niezerowa, jeśli %n
jest obsługiwana; 0, jeśli %n
nie jest obsługiwana.
Uwagi
Jeśli %n
nie jest obsługiwana (wartość domyślna), każda %n
znaleziona w ciągu formatu jednej z printf
funkcji wywołuje nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli %n
obsługa jest włączona (zobacz _set_printf_count_output
), %n
zachowuje się zgodnie z opisem w temacie Składnia specyfikacji formatu: printf
i wprintf
funkcje.
Ważne
Począwszy od systemu Windows 10 w wersji 2004 (kompilacja 19041), printf
rodzina funkcji drukuje dokładnie możliwe liczby zmiennoprzecinkowe zgodnie z regułami IEEE 754 dotyczącymi zaokrąglania. W poprzednich wersjach systemu Windows dokładnie reprezentowane liczby zmiennoprzecinkowe kończące się na "5" zawsze zaokrągla się w górę. IEEE 754 stwierdza, że muszą zaokrąglić do najbliższej parzysta cyfra (znana również jako "Zaokrąglanie Bankiera"). Na przykład oba printf("%1.0f", 1.5)
printf("%1.0f", 2.5)
elementy i powinny być zaokrąglone do 2. Wcześniej 1,5 zaokrągliłoby się do 2 i 2,5 do 3. Ta zmiana dotyczy tylko dokładnie możliwych do reprezentowania liczb. Na przykład 2,35 (który, gdy jest reprezentowany w pamięci, jest bliżej 2,350000000000000008) nadal zaokrągla się do 2,4. Zaokrąglanie wykonywane przez te funkcje jest teraz również zgodne z trybem zaokrąglania zmiennoprzecinkowego ustawionym przez fesetround
. Wcześniej zaokrąglanie zawsze wybierało FE_TONEAREST
zachowanie. Ta zmiana dotyczy tylko programów utworzonych przy użyciu programu Visual Studio 2019 w wersji 16.2 lub nowszej. Aby użyć starszego zachowania zaokrąglania zmiennoprzecinkowego, połącz się z elementem "legacy_stdio_float_rounding.obj".
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_get_printf_count_output |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
Zobacz przykład dla elementu _set_printf_count_output
.