Compartir a través de


_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_sy 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