Sdílet prostřednictvím


_set_printf_count_output

Povolte nebo zakažte podporu formátu %n veprintf funkcích , _printf_l, wprintf_wprintf_l-family.

Syntaxe

int _set_printf_count_output(
   int enable
);

Parametry

enable
Nenulová hodnota pro povolení %n podpory, 0 pro zakázání %n podpory.

Hodnota vlastnosti nebo návratová hodnota

Stav podpory %n před voláním této funkce: nenulový, pokud byla povolena %n podpora, 0, pokud byla zakázaná.

Poznámky

Z bezpečnostních důvodů je podpora specifikátoru formátu %n ve výchozím nastavení printf zakázaná a všechny její varianty. Pokud se ve specifikaci formátu zjistí printf %n, výchozím chováním je vyvolání neplatné obslužné rutiny parametru, jak je popsáno v ověření parametru. Volání _set_printf_count_output s nenulovým argumentem způsobí printf, že funkce -family interpretují %n , jak je popsáno v syntaxi specifikace formátu: printf a wprintf funkce.

Požadavky

Rutina Požadovaný hlavičkový soubor
_set_printf_count_output <stdio.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

// 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

Viz také

_get_printf_count_output