Imposta la larghezza variabile della colonna di testo in printf
Per determinare la dimensione della colonna in linguaggio C utilizziamo %<number>d
.
Ad esempio, posso digitare %3d
e mi darà una colonna di larghezza=3.
Il mio problema è che il mio numero dopo il %
è una variabile che ricevo, quindi ho bisogno di qualcosa come %xd
(dove x
è la variabile intera che ho ricevuto qualche tempo prima nel mio programma).
Ma non funziona.
C'è un altro modo per farlo?
Risposte:
Puoi farlo come segue:
printf("%*d", width, value);
Dal commento di Lee:
Puoi anche usare un * per la precisione:
printf("%*.*f", width, precision, value);
Nota che entrambi width
e precision
deve avere il tipo int
come previsto da printf
per il *
argomenti, digita size_t
è inappropriato in quanto potrebbe avere dimensioni e rappresentazione diverse sulla piattaforma di destinazione.