_set_printf_count_output
Activez ou désactivez la prise en charge du format %n dansprintf
, _printf_l
, wprintf
, -_wprintf_l
family functions.
Syntaxe
int _set_printf_count_output(
int enable
);
Paramètres
enable
Valeur différente de zéro pour activer la prise en charge de %n , 0 pour désactiver la prise en charge de %n .
Valeur de propriété ou valeur de retour
État de %n prise en charge avant d’appeler cette fonction : non zéro si la prise en charge de %n a été activée, 0 si elle a été désactivée.
Notes
Pour des raisons de sécurité, la prise en charge du spécificateur de format %n est désactivée par défaut et printf
toutes ses variantes. Si %n est rencontré dans une printf
spécification de format, le comportement par défaut consiste à appeler le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. L’appel _set_printf_count_output
avec un argument différent de zéro entraîne l’interprétation printf
de %n comme décrit dans la syntaxe de spécification format : printf
et wprintf
les fonctions.
Spécifications
Routine | En-tête requis |
---|---|
_set_printf_count_output |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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