Compartir a través de


_set_printf_count_output

Compatibilidad de permisos o de deshabilitar la opción de formato de %n en printf, _printf_l, wprintf, _wprintf_l- la familia funciona.

int _set_printf_count_output(
   int enable
);

Parámetros

  • enable
    Un valor distinto de cero para habilitar %n admite, 0 para deshabilitar la compatibilidad de %n .

Valor de propiedad y valor devuelto

El estado de la compatibilidad de %n antes de llamar a esta función: distinto de cero si la compatibilidad de %n está habilitado, 0 si se deshabilitó.

Comentarios

Por motivos de seguridad, compatibilidad con el especificador de formato de %n está deshabilitada de forma predeterminada en printf y todos sus variantes.Si %n se encuentra en una especificación de formato de printf , el comportamiento predeterminado consiste en invocar el controlador no válido del parámetro tal como se describe en Validación de parámetros.La llamada _set_printf_count_output con un argumento distinto producirá printf- funciones de familia para interpretar %n como se describe en caracteres de campo del tipo printf.

Requisitos

rutina

Encabezado necesario

_set_printf_count_output

<stdio.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

// 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 );
}

Output

%n support was disabled.
%n support is now enabled.
123456789
i = 5

Equivalente de .NET Framework

No es aplicablePara llamar a la función estándar de C, utilice PInvoke.Para obtener más información, vea La invocación de plataforma ejemplos.

Vea también

Referencia

_get_printf_count_output