Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Настраивает форматы вывода, которые используются форматированными функциями ввода-вывода.
Внимание
Эта функция является устаревшей. Начиная с Visual Studio 2015 она недоступна в CRT.
Синтаксис
unsigned int _set_output_format(
unsigned int format
);
Параметры
format
[in] Значение, представляющее используемый формат.
Возвращаемое значение
Предыдущий формат вывода.
Замечания
_set_output_format используется для настройки выходных данных отформатированных функций ввода-вывода, таких как printf_s. Единственное соглашение о форматировании, которое можно изменить этой функцией, — это число цифр, отображаемых в экспонентах в выходных данных чисел с плавающей запятой.
По умолчанию выходные данные чисел с плавающей запятой по таким функциям, как printf_s, wprintf_sи связанные функции в библиотеке Visual C standard C печатают три цифры для экспонента, даже если три цифры не требуются для представления значения экспонента. Нули используются для заполнения значения тремя цифрами. _set_output_format позволяет изменить это поведение, чтобы только две цифры выводились в показателе степени, если только значение показателя не требует третьей цифры.
Чтобы включить показатели степени с двумя цифрами, вызовите эту функцию с параметром _TWO_DIGIT_EXPONENT, как показано в примере. Чтобы отключить показатели степени с двумя цифрами, вызовите эту функцию с аргументом 0.
Требования
| Маршрут | Обязательный заголовок |
|---|---|
_set_output_format |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Compatibility во введении.
Пример
// 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
См. также
printf_s, , _printf_s_lwprintf_s_wprintf_s_l
_get_output_format