Condividi tramite


_set_output_format

Personalizzare i formati di output utilizzati da funzioni di I/O formattate.

unsigned int _set_output_format(
   unsigned int format
);

Parametri

  • [in] format
    Un valore che rappresenta il formato da utilizzare.

Valore restituito

Il formato di output precedente.

Note

_set_output_format viene utilizzato per configurare l'output delle funzioni di I/O formattate come printf_s. Attualmente, 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 per i numeri a virgola mobile di funzioni come printf_s, wprintf_se funzioni correlate nella libreria standard di Visual C++ stampa tre cifre per l'esponente, anche se tre cifre non dovessero essere necessarie per rappresentare il valore dell'esponente. Gli zeri vengono utilizzati per riempire il valore a tre cifre. _set_output_format consente di modificare questo comportamento in modo da visualizzare solo due cifre nell'esponente a meno che una terza cifra sia necessaria per la dimensione dell'esponente.

Per abilitare gli esponenti a due cifre, chiamare la seguente funzione con il parametro _TWO_DIGIT_EXPONENT, come illustrato nell'esempio. Per disabilitare gli esponenti a due cifre, chiamare questa funzione con 0 come argomento.

Requisiti

Routine

Intestazione obbligatoria

_set_output_format

<stdio.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.

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);
}
  

Vedere anche

Riferimenti

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

Caratteri di campo di tipo per printf

_get_output_format