_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_s
et 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