_set_output_format
Consente di personalizzare i formati di output usati dalle funzioni di I/O formattate.
Importante
questa funzione è obsoleta. A partire da Visual Studio 2015 non è disponibile in CRT.
Sintassi
unsigned int _set_output_format(
unsigned int format
);
Parametri
format
[in] Valore che rappresenta il formato da usare.
Valore restituito
Formato di output precedente.
Osservazioni:
_set_output_format
viene usato per configurare l'output delle funzioni di I/O formattate, printf_s
ad esempio . L'unica convenzione di formattazione che può essere modificata da questa funzione è il numero di cifre visualizzate negli esponenti nell'output dei numeri a virgola mobile.
Per impostazione predefinita, l'output dei numeri a virgola mobile da funzioni come printf_s
, wprintf_s
e le funzioni correlate nella libreria C standard di Visual C++ stampa tre cifre per l'esponente, anche se non sono necessarie tre cifre per rappresentare il valore dell'esponente. Per arrivare a tre cifre, vengono aggiunti zeri. _set_output_format
consente di modificare questo comportamento in modo da stampare solo due cifre per l'esponente a meno che le dimensioni dell'esponente non ne richiedano una terza.
Per abilitare gli esponenti a due cifre, chiamare questa funzione con il parametro _TWO_DIGIT_EXPONENT
, come illustrato nell'esempio. Per abilitare gli esponenti a due cifre, chiamare questa funzione con l'argomento 0.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_set_output_format |
<stdio.h> |
Per altre informazioni sulla compatibilità, vedere la sezione Compatibilità nell'introduzione.
Esempio
// 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
Vedi anche
printf_s
, _printf_s_l
, wprintf_s
_wprintf_s_l
_get_output_format