_set_printf_count_output

Activez ou désactivez la prise en charge du format %n dansprintf , _printf_l, wprintf, -_wprintf_lfamily 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 printfde %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

Voir aussi

_get_printf_count_output