Udostępnij za pośrednictwem


_set_printf_count_output

Włącz lub wyłącz obsługę formatu %n wprintf funkcjach , _printf_l, wprintf_wprintf_l-family.

Składnia

int _set_printf_count_output(
   int enable
);

Parametry

enable
Wartość niezerowa umożliwiająca obsługę %n , 0, aby wyłączyć obsługę %n .

Wartość właściwości lub wartość zwracana

Stan obsługi %n przed wywołaniem tej funkcji: bez zera, jeśli włączono obsługę %n , 0, jeśli została wyłączona.

Uwagi

Ze względów bezpieczeństwa obsługa specyfikatora formatu %n jest domyślnie wyłączona i printf wszystkie jego warianty. Jeśli %n napotkano w printf specyfikacji formatu, domyślne zachowanie polega na wywołaniu nieprawidłowej procedury obsługi parametrów zgodnie z opisem w temacie Weryfikacja parametrów. Wywołanie przy użyciu _set_printf_count_output argumentu innego niż zero spowoduje printf, że funkcje rodziny interpretują %n zgodnie z opisem w sekcji Składni specyfikacji formatu: printf i wprintf funkcji.

Wymagania

Procedura Wymagany nagłówek
_set_printf_count_output <stdio.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

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

Zobacz też

_get_printf_count_output