Partager via


_set_printf_count_output

activez ou désactivez la prise en charge du format d' %n dans printf, _printf_l, wprintf, _wprintf_l- fonctions de famille.

int _set_printf_count_output(
   int enable
);

Paramètres

  • enable
    Une valeur différente de zéro pour permettre la prise en charge d' %n , 0 pour désactiver la prise en charge d' %n .

Valeur de propriété/valeur de retour

l'état de la prise en charge d' %n avant d'appeler cette fonction : différente de zéro si la prise en charge d' %n a été activée, 0 s'il a été désactivé.

Notes

Pour des raisons de sécurité, la prise en charge du spécificateur de format d' %n est désactivé par défaut dans printf et toutes ses variantes.Si %n est produit dans une spécification de format d' printf , le comportement par défaut consiste à appeler le gestionnaire de paramètre non valide comme décrit dans Validation des paramètres.Appeler _set_printf_count_output avec un argument est différente de zéro provoque printf- fonctions de famille pour interpréter %n comme décrit dans type de caractères printf de champ.

Configuration requise

routine

en-tête requis

_set_printf_count_output

<stdio.h>

Pour des informations de compatibilité supplémentaires, 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 l' exemples d'appel de code non managé.

Voir aussi

Référence

_get_printf_count_output