_set_printf_count_output
Включите или отключите поддержку формата %n вprintf
функциях , _printf_l
wprintf
_wprintf_l
-family.
Синтаксис
int _set_printf_count_output(
int enable
);
Параметры
enable
Ненулевое значение для включения поддержки %n , 0 для отключения поддержки %n .
Значение свойства или возвращаемое значение
Состояние %n поддержки перед вызовом этой функции: ненулевая, если поддержка %n включена, 0, если она отключена.
Замечания
В связи с соображениями безопасности поддержка описателя формата %n по умолчанию отключена и printf
все его варианты. Если %n обнаружен в спецификации формата, поведение по умолчанию заключается в printf
вызове обработчика недопустимых параметров, как описано в разделе "Проверка параметров". Вызов _set_printf_count_output
с ненулевым аргументом приведет printf
к интерпретации функций семейства %n , как описано в синтаксисе спецификации формата: printf
и wprintf
функций.
Требования
Маршрут | Обязательный заголовок |
---|---|
_set_printf_count_output |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_set_printf_count_output.c
#include <stdio.h>
int main()
{
int e;
int i;
e = _set_printf_count_output( 1 );
printf( "%%n support was %sabled.\n",
e ? "en" : "dis" );
printf( "%%n support is now %sabled.\n",
_get_printf_count_output() ? "en" : "dis" );
printf( "12345%n6789\n", &i ); // %n format should set i to 5
printf( "i = %d\n", i );
}
%n support was disabled.
%n support is now enabled.
123456789
i = 5