_set_printf_count_output

启用或禁用 printf_printf_lwprintf_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,如格式规范语法:printfwprintf 函数中所述。

要求

例程 必需的标头
_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

请参阅

_get_printf_count_output