_set_output_format
形式指定された入出力関数が使用する出力形式をカスタマイズします。
unsigned int _set_output_format(
unsigned int format
);
パラメーター
- [入力] format
使用する形式を表す値。
戻り値
以前の出力形式。
解説
_set_output_format は、printf_s などの形式指定された入出力関数の出力を構成するために使用します。 現時点では、この関数によって変更できる形式指定規則は、浮動小数点数値の出力の指数部に表示する桁数のみです。
既定では、printf_s、wprintf_s、およびそれに関連する Visual C++ の標準 C ライブラリの関数の浮動小数点数値の指数部は、指数部の値を表すために 2 桁で十分な場合も 3 桁出力されます。 3 桁目が必要ない場合は 0 で埋められます。 _set_output_format では、指数部のサイズによって 3 桁目が必要にならない限り、指数部を 2 桁で出力するようにこの動作を変更できます。
2 桁の指数部を有効にするには、この例にあるように、_TWO_DIGIT_EXPONENT パラメーターを指定してこの関数を呼び出します。 2 桁の指数部を無効にするには、引数 0 を指定してこの関数を呼び出します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_set_output_format |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。
使用例
// crt_set_output_format.c
#include <stdio.h>
void printvalues(double x, double y)
{
printf_s("%11.4e %11.4e\n", x, y);
printf_s("%11.4E %11.4E\n", x, y);
printf_s("%11.4g %11.4g\n", x, y);
printf_s("%11.4G %11.4G\n", x, y);
}
int main()
{
double x = 1.211E-5;
double y = 2.3056E-112;
unsigned int old_exponent_format;
// Use the default format
printvalues(x, y);
// Enable two-digit exponent format
old_exponent_format = _set_output_format(_TWO_DIGIT_EXPONENT);
printvalues(x, y);
// Disable two-digit exponent format
_set_output_format( old_exponent_format );
printvalues(x, y);
}