_set_printf_count_output
启用或禁用 printf
、_printf_l
、wprintf
、_wprintf_l
系列函数中对 %n 格式的支持。
语法
int _set_printf_count_output(
int enable
);
参数
enable
如果启用 %n 支持,则为非零值;如果禁用 %n 支持,则为 0。
属性值或返回值
调用此函数之前的 %n 支持状态:如果启用 %n 支持,则为非零值;如果禁用它,则为 0。
备注
出于安全考虑,默认情况下,在 printf
和其所有变体中禁用对 %n 格式说明符的支持。 如果在 printf
格式规范中遇到 %n,则默认行为是调用无效参数处理程序,如参数验证中所述。 使用非零自变量调用 _set_printf_count_output
将导致 printf
系列函数解释 %n,如格式规范语法:printf
和 wprintf
函数中所述。
要求
例程 | 必需的标头 |
---|---|
_set_printf_count_output |
<stdio.h> |
有关兼容性的详细信息,请参阅 兼容性。
示例
// 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