_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);
}