Domanda

Ho bisogno di eseguire un programma che avrà un'uscita simile sia su Linux che su Visual Studio.

Larghezza predefinita di Linux del campo Exponent è 2 e Visual Studio è 3.

Quindi per un numero 3.40282E + 38 Linux la lascia così com'è, ma Visual Studio si blocca con un ulteriore 0, 3.40282E + 038

Qualcuno sa come configurare l'output in Visual Studio per rimuovere lo zero?(o aggiungere uno zero in linux)

È stato utile?

Soluzione

Secondo Wikipedia: http://en.wikipedia.org/wiki/printf_format_string .

.

L'esponente contiene sempre almeno due cifre;Se il valore è zero, l'esponente è 00. In Windows, l'esponente contiene tre cifre per impostazione predefinita, ad es.1.5E002, ma questo può essere modificato da Funzione _set_output_format specifica per Microsoft.

Quindi sembra che tu possa chiedere al compilatore di Microsoft non aggiungere lo zero.Non so chiedere a GCC di aggiungere lo zero, però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top