_set_output_format
Personaliza los formatos de salida que usan las funciones de E/S con formato.
Importante
Esta función está obsoleta. A partir de Visual Studio 2015, no está disponible en CRT.
Sintaxis
unsigned int _set_output_format(
unsigned int format
);
Parámetros
format
[in] Un valor que representa el formato que se utilizará.
Valor devuelto
El formato de salida anterior.
Comentarios
_set_output_format
se usa para configurar la salida de las funciones de E/S con formato, como printf_s
. La única convención de formato que puede cambiar esta función es el número de dígitos mostrados en exponentes en la salida de números de punto flotante.
De forma predeterminada, la salida de números de punto flotante por funciones como printf_s
, wprintf_s
y funciones relacionadas en la biblioteca de C++ Estándar de Visual C imprime tres dígitos para el exponente, incluso si no se requieren tres dígitos para representar el valor del exponente. Se utilizan ceros para rellenar el valor hasta los tres dígitos. _set_output_format
le permite cambiar este comportamiento para que solo se impriman dos dígitos en el exponente, a menos que sea necesario un tercer dígito debido al tamaño del exponente.
Para habilitar los exponentes de dos dígitos, llame a esta función con el parámetro _TWO_DIGIT_EXPONENT
, como se muestra en el ejemplo. Para deshabilitar los exponentes de dos dígitos, llame a esta función con un argumento de 0.
Requisitos
Routine | Encabezado necesario |
---|---|
_set_output_format |
<stdio.h> |
Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.
Ejemplo
// 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
Vea también
printf_s
, _printf_s_l
, , wprintf_s
, _wprintf_s_l
_get_output_format