description | title | ms.date | api_name | api_location | api_type | topic_type | f1_keywords | helpviewer_keywords | ms.assetid | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: _set_printf_count_output |
_set_printf_count_output |
11/04/2016 |
|
|
|
|
|
|
d8259ec5-764e-42d0-9169-72172e95163b |
Enable or disable support of the %n format in printf
, _printf_l
, wprintf
, _wprintf_l
-family functions.
int _set_printf_count_output(
int enable
);
enable
A non-zero value to enable %n support, 0 to disable %n support.
The state of %n support before calling this function: non-zero if %n support was enabled, 0 if it was disabled.
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 Format specification syntax: printf
and wprintf
functions.
Routine | Required header |
---|---|
_set_printf_count_output |
<stdio.h> |
For more compatibility information, see Compatibility.
// 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