_set_printf_count_output

Habilite ou desabilite o suporte ao formato %n nasprintf funções , , _printf_lwprintf, _wprintf_l-family.

Sintaxe

int _set_printf_count_output(
   int enable
);

Parâmetros

enable
Um valor diferente de zero para habilitar o suporte a %n ou 0 para desabilitar o suporte a %n.

Valor da propriedade ou valor de retorno

O estado do suporte a %n antes de chamar essa função: diferente de zero se o suporte a %n foi habilitado, 0 se ele foi desabilitado.

Comentários

Devido a razões de segurança, o suporte para o especificador de formato %n está desabilitado por padrão em printf todas as suas variantes. Se %n for encontrado em uma especificação de printf formato, o comportamento padrão será invocar o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Chamar _set_printf_count_output com um argumento diferente de zero fará com que printfas funções -family interpretem %n conforme descrito em Sintaxe de especificação de formato: printf e wprintf funções.

Requisitos

Rotina Cabeçalho necessário
_set_printf_count_output <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Confira também

_get_printf_count_output