_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。
解説
セキュリティ上の理由により、%n の書式指定子のサポートは printf とすべてのバリアントに既定で無効になります。 %n が printf の書式指定で実行された場合、既定では パラメーターの検証"に説明されているように、無効なパラメーター ハンドラーを呼び出します。 ゼロ以外の引数による _set_printf_count_output を呼び出すと、printf- printf 関数の型フィールド文字"に説明されているように %n を解釈するファミリの関数) が発生します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_set_printf_count_output |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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
同等の .NET Framework 関数
使用できません。 標準 C 関数を呼び出すには、PInvoke を使用します。 詳細については、「プラットフォーム呼び出しの例」を参照してください。