Sì, puoi farlo. È necessario utilizzare un asterisco *
come larghezza del campo e .*
come precisione. Quindi, è necessario fornire gli argomenti che contengono i valori. Qualcosa di simile
sprintf(myNumber,"%*.*lf",A,B,a);
Nota: A
e B
devono essere di tipo int
. Dallo standard C11
, capitolo §7.21.6.1, fprintf()
funzione
... una larghezza di campo, o la precisione, o entrambi, possono essere contrassegnati da un asterisco. Nel caso , un argomento int
fornisce larghezza o precisione del campo. Gli argomenti che specificano la larghezza del campo, o la precisione, o entrambi, devono apparire (in quest'ordine) prima che l'argomento (se presente) sia convertito. Un argomento di larghezza campo negativo viene considerato come un flag -
seguito da una larghezza di campo positiva. Un argomento di precisione negativo viene preso come se la precisione fosse omessa.
fonte
2015-06-23 09:10:30
Sì, è possibile, si veda per es [questo riferimento a 'printf' (e famiglia)] (http://en.cppreference.com/w/c/io/fprintf). –
In alternativa, la stringa di formato stessa potrebbe anche essere creata con un'altra chiamata a sprintf. – Lundin