Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dostosowuje formaty danych wyjściowych używane przez sformatowane funkcje we/wy.
Ważne
Ta funkcja jest przestarzała. Począwszy od programu Visual Studio 2015, nie jest on dostępny w CRT.
Składnia
unsigned int _set_output_format(
unsigned int format
);
Parametry
format
[in] Wartość reprezentująca format do użycia.
Wartość zwracana
Poprzedni format danych wyjściowych.
Uwagi
_set_output_format służy do konfigurowania danych wyjściowych sformatowanych funkcji we/wy, takich jak printf_s. Jedyną konwencją formatowania, którą można zmienić przez tę funkcję, jest liczba cyfr wyświetlanych w wykładnikach w danych wyjściowych liczb zmiennoprzecinkowych.
Domyślnie dane wyjściowe liczb zmiennoprzecinkowych według funkcji, takich jak printf_s, wprintf_si powiązane funkcje w bibliotece C++ Standard C++ drukują trzy cyfry wykładnika, nawet jeśli trzy cyfry nie są wymagane do reprezentowania wartości wykładnika. Wartości zero są używane do uzupełniania wartości do trzech cyfr. _set_output_format Umożliwia zmianę tego zachowania tak, aby tylko dwie cyfry zostały wydrukowane w wykładnik, chyba że trzecia cyfra jest wymagana przez rozmiar wykładnika.
Aby włączyć wykładniki dwucyfrowe, wywołaj tę funkcję za pomocą parametru _TWO_DIGIT_EXPONENT, jak pokazano w przykładzie. Aby wyłączyć dwie cyfry wykładników, wywołaj tę funkcję z argumentem 0.
Wymagania
| Procedura | Wymagany nagłówek |
|---|---|
_set_output_format |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność w temacie Wprowadzenie.
Przykład
// 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
Zobacz też
printf_s, , _printf_s_l, , wprintf_s_wprintf_s_l
_get_output_format