_set_printf_count_output
Activer ou désactiver la prise en charge du format %n dans les familles de fonctions printf, _printf_l, wprintf, _wprintf_l.
int _set_printf_count_output(
int enable
);
Paramètres
- enable
Une valeur différente de zéro pour permettre la prise en charge de %n, 0 pour désactiver la prise en charge de %n.
Valeur de propriété/valeur de retour
L'état de la prise en charge de %n avant d'appeler cette fonction : différent de zéro si la prise en charge de %n a été activée, 0 s'il est désactivé.
Notes
Pour des raisons de sécurité, la prise en charge du spécificateur de format %n est désactivée par défaut dans printf et toutes ses variantes. Si %n se rencontre dans une spécification du format printf, le comportement par défaut consiste à appeler le gestionnaire de paramètre non valide comme décrit dans Validation de paramètre. Appeler _set_printf_count_output avec l'argument différent de zéro entraîne les familles de fonctionprintfà interpréter %n comme décrit dans Caractères du champ de type printf.
Configuration requise
Routine |
En-tête requis |
---|---|
_set_printf_count_output |
<stdio.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.
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 );
}
Sortie
%n support was disabled.
%n support is now enabled.
123456789
i = 5
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.