Compartilhar via


_set_output_format

Personaliza os formatos de saída usados pelas funções de E/S formatadas.

Importante

Essa função está obsoleta. A partir do Visual Studio 2015, ela não está disponível no CRT.

Sintaxe

unsigned int _set_output_format(
   unsigned int format
);

Parâmetros

format
[in] Um valor que representa o formato a ser usado.

Valor retornado

O formato de saída anterior.

Comentários

_set_output_format é usado para configurar a saída de funções de E/S formatadas, como printf_s. A única convenção de formatação que pode ser alterada por essa função é o número de dígitos exibidos em expoentes na saída de números de ponto flutuante.

Por padrão, a saída de números de ponto flutuante por funções como printf_s, wprintf_se funções relacionadas na biblioteca C padrão do Visual C++ imprime três dígitos para o expoente, mesmo que três dígitos não sejam necessários para representar o valor do expoente. Zeros são usados para preencher o valor fazendo com que ele passe a ter três dígitos. _set_output_format permite que você altere esse comportamento de modo que apenas dois dígitos são impressos no expoente, a menos que um terceiro dígito seja exigido pelo tamanho do expoente.

Para habilitar os expoentes de dois dígitos, chame essa função com o parâmetro _TWO_DIGIT_EXPONENT, conforme mostrado no exemplo. Para desabilitar expoentes de dois dígitos, chame essa função com um argumento de 0.

Requisitos

Rotina Cabeçalho necessário
_set_output_format <stdio.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.

Exemplo

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

Confira também

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
_get_output_format