_set_printf_count_output
Ative ou desative o suporte do formato %n nas printf
funções , _printf_l
, wprintf
, _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 retornado
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
Por motivos de segurança, o suporte para o especificador de formato %n é desabilitado por padrão em printf
e em todas as suas variantes. Se %n for encontrado em uma printf
especificação de formato, o comportamento padrão será invocar o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro. Chamar _set_printf_count_output
com um argumento diferente de zero fará com que printf
as 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