_set_output_format
書式付き I/O 関数で使用する出力形式をカスタマイズします。
重要
この関数は廃止されています。 Visual Studio 2015 以降、CRT で使用できません。
構文
unsigned int _set_output_format(
unsigned int format
);
パラメーター
format
[in] 使用する書式を表す値。
戻り値
以前の出力形式。
解説
_set_output_format
は、 printf_s
などの書式設定された I/O 関数の出力を構成するために使用されます。 この関数で変更できる唯一の書式規則は、浮動小数点数の出力で指数部に表示される桁数です。
既定では、Visual C++ 標準 C ライブラリの printf_s
、 wprintf_s
、および関連する関数による浮動小数点数の出力では、指数の値を表すために 3 桁の数字が必要ない場合でも、指数の 3 桁が出力されます。 値が 3 桁になるように 0 が埋め込まれます。 _set_output_format
を使用すると、指数部の大きさによって 3 桁目が必要になる場合を除いて、浮動小数点数の指数部が 2 桁のみで出力されるように動作を変更できます。
2 桁の指数部を有効にするには、次の例に示されているとおり、パラメーター _TWO_DIGIT_EXPONENT
を指定してこの関数を呼び出します。 2 桁の指数部を無効にするには、引数 0 を指定してこの関数を呼び出します。
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_set_output_format |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」をご覧ください。
例
// 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);
}
1.2110e-005 2.3056e-112
1.2110E-005 2.3056E-112
1.211e-005 2.306e-112
1.211E-005 2.306E-112
1.2110e-05 2.3056e-112
1.2110E-05 2.3056E-112
1.211e-05 2.306e-112
1.211E-05 2.306E-112
1.2110e-005 2.3056e-112
1.2110E-005 2.3056E-112
1.211e-005 2.306e-112
1.211E-005 2.306E-112
関連項目
printf_s
、 _printf_s_l
、 wprintf_s
、 _wprintf_s_l
_get_output_format