Sdílet prostřednictvím


_set_output_format

Přizpůsobí formáty výstupu používané formátovanými vstupně-výstupními funkcemi.

Důležité

Tato funkce je zastaralá. Počínaje sadou Visual Studio 2015 není v CRT k dispozici.

Syntaxe

unsigned int _set_output_format(
   unsigned int format
);

Parametry

format
[v] Hodnota představující formát, který se má použít.

Vrácená hodnota

Předchozí formát výstupu.

Poznámky

_set_output_format slouží ke konfiguraci výstupu formátovaných vstupně-výstupních funkcí, jako printf_sje . Jedinou konvencí formátování, kterou může tato funkce změnit, je počet číslic zobrazených v exponentech ve výstupu čísel s plovoucí desetinnou čárkou.

Ve výchozím nastavení výstup čísel s plovoucí desetinnou čárkou pomocí funkcí, jako printf_swprintf_sjsou , a souvisejících funkcí v knihovně Visual C++ Standard C++ vytiskne tři číslice pro exponent, i když nejsou nutné, aby tři číslice představovaly hodnotu exponentu. Nuly se používají k určení hodnoty na tři číslice. _set_output_format umožňuje toto chování změnit tak, aby se v exponentu vytiskly pouze dvě číslice, pokud velikost exponentu nevyžaduje třetí číslice.

Chcete-li povolit exponenty se dvěma číslicemi, zavolejte tuto funkci s parametrem _TWO_DIGIT_EXPONENT, jak je znázorněno v příkladu. Chcete-li zakázat exponenty dvou číslic, zavolejte tuto funkci s argumentem 0.

Požadavky

Rutina Požadovaný hlavičkový soubor
_set_output_format <stdio.h>

Další informace o kompatibilitě naleznete v tématu Kompatibilita v úvodu.

Příklad

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

Viz také

printf_s, _printf_s_l, , wprintf_s_wprintf_s_l
_get_output_format