Поделиться через


_set_printf_count_output

Включите или отключите поддержку формата %n вprintf функциях , _printf_lwprintf_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

См. также

_get_printf_count_output