_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 printf (Caracteres de campo de tipo).
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 );
}
Resultados
%n support was disabled.
%n support is now enabled.
123456789
i = 5
Equivalente de .NET Framework
No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.