_get_printf_count_output
Указывает, поддерживаются ли функции , wprintf
_wprintf_l
_printf_l
-family в формате %n.printf
Синтаксис
int _get_printf_count_output();
Возвращаемое значение
Ненулевая, если поддерживается; 0, если %n
%n
она не поддерживается.
Замечания
Если %n
параметр не поддерживается (по умолчанию), любой %n
, найденный в строке формата одной из printf
функций, вызывает обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если %n
поддержка включена (см. см _set_printf_count_output
.), то %n
ведет себя так, как описано в синтаксисе спецификации формата: printf
и wprintf
функции.
Внимание
Начиная с Windows 10 версии 2004 (сборка 19041), printf
семейство функций выводит точно представленные числа с плавающей запятой в соответствии с правилами IEEE 754 для округления. В предыдущих версиях Windows точно представленные числа с плавающей запятой, заканчивающиеся на "5", всегда округлялись. IEEE 754 утверждает, что они должны округлиться до ближайшей даже цифры (также известной как "Округление банкира"). Например, оба printf("%1.0f", 1.5)
и printf("%1.0f", 2.5)
должны округлиться до 2. Ранее 1,5 округляет до 2 и 2,5 округления до 3. Это изменение влияет только на точно представленные числа. Например, 2.35 (который при представлении в памяти приближается к 2,3500000000000000008) продолжает округляется до 2,4. Округление, выполняемое этими функциями, теперь также учитывает режим округления с плавающей запятой, заданный fesetround
. Ранее округление всегда выбрало FE_TONEAREST
поведение. Это изменение влияет только на программы, созданные с помощью Visual Studio 2019 версии 16.2 и более поздних версий. Чтобы использовать устаревшее поведение округления с плавающей запятой, свяжите ссылку с "legacy_stdio_float_rounding.obj".
Требования
Маршрут | Обязательный заголовок |
---|---|
_get_printf_count_output |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
Пример см. в примере _set_printf_count_output
.