_set_output_format
自訂輸出格式的 I/O 函式使用的格式。
unsigned int _set_output_format(
unsigned int format
);
參數
- [in] format
表示使用格式的值。
傳回值
上一個輸出格式。
備註
_set_output_format 用來設定格式化 I/O 函式輸出 (例如 printf_s)。 目前,這個函式可以變更的格式化慣例是在浮點輸出的指數顯示的位數。
根據預設,由函式輸出的浮點數如 printf_s、wprintf_s和相關在 Visual C++ 標準 C 程式庫中列印指數三位數的函式,即使不需要三位數來表示指數的值。 零用來填補值到三位數。 _set_output_format 可讓您變更這項行為,以便只有兩個數字在指數列印,除非第三位數由指數大小的需要。
如範例所示,為了開啟兩位數指數,請使用 _TWO_DIGIT_EXPONENT 作為參數的這個函式。 若要停用兩位數指數,請使用引數 0 呼叫這個函式。
需求
常式 |
必要的標頭 |
---|---|
_set_output_format |
<stdio.h> |
如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility) 。
.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);
}