Freigeben über


_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_sz. 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_sund 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_EXPONENTauf, 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_lwprintf_s_wprintf_s_l
_get_output_format