_set_output_format

 

Date de publication : août 2016

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

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

System_CAPS_ICON_important.jpg Important

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

unsigned int _set_output_format(  
   unsigned int format  
);  

Paramètres

[in] format
Une valeur représentant le format à utiliser.

Le format de sortie précédent.

_set_output_format est utilisé pour configurer la sortie de fonctions d’E-S mises en forme, comme printf_s. Actuellement, la seule convention de mise en forme qui peut être changé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 des fonctions comme printf_s, wprintf_s et les fonctions connexes de la bibliothèque C standard de Visual C++ utilise 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.

RoutineEn-tête requis
_set_output_format<stdio.h>

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

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

// 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_l, wprintf_s, _wprintf_s_l
Caractères du champ de type printf
_get_output_format

Afficher: