Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Se recomienda usar Visual Studio 2017
Esta documentación está archivada y no tiene mantenimiento.

_set_output_format

Personalizar formatos de salida utilizados por funciones con formato de E/S.

unsigned int _set_output_format(
   unsigned int format
);

[in] format

un valor que representa el formato para utilizar.

el formato de salida anterior.

_set_output_format se utiliza para configurar la salida de las funciones con formato de E/S como printf_s. Actualmente, la única convención de formato que se puede cambiar por esta función es el número de dígitos mostrados en exponentes en el resultado de los números de punto flotante.

De forma predeterminada, el resultado de los números de punto flotante por funciones como printf_s, wprintf_s, y las funciones relacionadas en la biblioteca de Visual C++ Standard c imprime tres dígitos en el exponente, aunque tres dígitos no son necesarias para representar el valor del exponente. los ceros se utilizan para completar el valor a tres dígitos. _set_output_format permite cambiar este comportamiento para imprimir sólo dos dígitos en el exponente a menos que un tercer dígito es requerido por el 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.

rutina

Encabezado necesario

_set_output_format

<stdio.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

// 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
Mostrar: