_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> |
如需相容性資訊,請參閱相容性在簡介中。
.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);
}