_set_output_format

Personnalise les formats de sortie utilisés par les fonctions d’E-S mises en forme.

Important

Cette fonction est obsolète. Depuis Visual Studio 2015, elle n’est pas disponible dans la bibliothèque CRT.

Syntaxe

unsigned int _set_output_format(
   unsigned int format
);

Paramètres

format
[in] Valeur représentant le format à utiliser.

Valeur retournée

Le format de sortie précédent.

Notes

_set_output_format est utilisé pour configurer la sortie des fonctions d’E/S mises en forme telles que printf_s. La seule convention de mise en forme qui peut être modifiée par cette fonction est le nombre de chiffres affichés dans les exposants dans la sortie des nombres à virgule flottante.

Par défaut, la sortie des nombres à virgule flottante par fonctions telles que printf_s, wprintf_set les fonctions associées de la bibliothèque C Standard Visual C++ imprime trois chiffres pour l’exposant, même si trois chiffres ne sont pas nécessaires pour représenter la valeur de l’exposant. Des zéros sont utilisés pour compléter la valeur sur trois chiffres. _set_output_format vous permet de changer ce comportement pour que deux chiffres seulement soient utilisés dans l’exposant, sauf si un troisième chiffre est requis par la taille de l’exposant.

Pour activer des exposants à deux chiffres, appelez cette fonction avec le paramètre _TWO_DIGIT_EXPONENT, comme illustré dans l’exemple. Pour désactiver les exposants à deux chiffres, appelez cette fonction avec un argument ayant la valeur 0.

Spécifications

Routine En-tête requis
_set_output_format <stdio.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

Exemple

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

Voir aussi

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
_get_output_format