_set_output_format
Passt die von den Funktionen für formatierte E/A verwendeten Ausgabeformate an.
Wichtig
Diese Funktion ist veraltet. Von Visual Studio 2015 an ist sie nicht in der CRT verfügbar.
Syntax
unsigned int _set_output_format(
unsigned int format
);
Parameter
format
[in]: Ein Wert, der das zu verwendende Format darstellt.
Rückgabewert
Das vorherige Ausgabeformat.
Hinweise
_set_output_format
wird verwendet, um die Ausgabe formatierter E/A-Funktionen wie printf_s
z. B. zu konfigurieren. Die einzige Formatierungskonvention, die von dieser Funktion geändert werden kann, ist die Anzahl der Ziffern, die in Exponenten in der Ausgabe von Gleitkommazahlen angezeigt werden.
Standardmäßig druckt die Ausgabe von Gleitkommazahlen nach Funktionen wie printf_s
, wprintf_s
und verwandten Funktionen in der Visual C++-Standard-C-Bibliothek drei Ziffern für den Exponenten, auch wenn drei Ziffern nicht erforderlich sind, um den Wert des Exponenten darzustellen. Nullen werden verwendet, um den Wert auf drei Stellen aufzufüllen. _set_output_format
ermöglicht Ihnen, dieses Verhalten zu ändern, sodass nur zwei Stellen im Exponenten geduckt werden, es sei denn, die Größe des Exponenten macht eine dritte Stelle erforderlich.
Um zweistellige Exponenten zu aktivieren, rufen Sie diese Funktion mit dem Parameter _TWO_DIGIT_EXPONENT
auf, wie im Beispiel gezeigt. Um die zweistelligen Exponenten zu deaktivieren, rufen Sie diese Funktion mit dem Argument „0“ auf.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_set_output_format |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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
Siehe auch
printf_s
, , _printf_s_l
wprintf_s
_wprintf_s_l
_get_output_format