_set_printf_count_output
Enable or disable support of the %n format in printf, _printf_l, wprintf, _wprintf_l-family functions.
int _set_printf_count_output( int enable );
Parameters
- enable
-
A non-zero value to enable %n support, 0 to disable %n support.
Because of security reasons, support for the %n format specifier is disabled by default in printf and all its variants. If %n is encountered in a printf format specification, the default behavior is to invoke the invalid parameter handler as described in Parameter Validation. Calling _set_printf_count_output with a non-zero argument will cause printf-family functions to interpret %n as described in printf Type Field Characters.
| Routine | Required header | Compatibility |
|---|---|---|
| _set_printf_count_output | <stdio.h> | ANSI, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
For additional compatibility information, see Compatibility in the Introduction.
// 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 );
}
Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.