Vorrei stampare colonne utilizzando printf in C. Ho scritto questo codice:stampa colonne della stessa larghezza in C utilizzando la formattazione printf
#include <stdio.h>
void printme(char *txt1, char *txt2, char *txt3)
{
printf("TXT1: %9s TXT2 %9s TXT3 %9s\n", txt1, txt2, txt3);
}
int main()
{
printme("a","bbbbbbbeeeeebbbbb","e");
printme("aaaaaaaa","bbbbbbbbbbbb","abcde");
return 0;
}
Funziona ma non ho tale uscita:
TXT1: a TXT2 bbbbbbbeeeeebbbbb TXT3 e
TXT1: aaaaaaaa TXT2 bbbbbbbbbbbb TXT3 abcde
Quindi le colonne non hanno la stessa larghezza. Fondamentalmente, mi piacerebbe farlo in questo modo, che non importa quanto sia lungo il testo nel mio argomento, la mia funzione SEMPRE SEMPRE stamperà una bella colonna formattata. La domanda è: come posso fare questo?
Con saing bello Volevo dire che non importa quanto tempo il testo passo alla mia funzione di stampa, sarà sempre stampare le colonne della stessa larghezza, ad esempio:
Ho questa uscita che assomiglia a questo:
a cd` fg ij
a cd fg ij
a cd fg ij
ab cd fg ij
ab cd fg i j
ab cd fg ij
ab cd fg ij
ab cde fgh ij
ab cde fgh ij
voglio farlo sembrare come questo (non importa quanto tempo i miei argomenti di testo saranno):
a cd` fg ij
a cd fg ij
a cd fg ij
ab cd fg ij
ab cd fg ij
ab cd fg ij
ab cd fg ij
ab cde fgh ij
ab cde fgh ij
Definire * nice * in * belle colonne formattate *. – ouah
quindi analizza in anticipo il tuo testo, scopri quale sia la stringa più lunga e usa quella lunghezza per i valori di riempimento della colonna. –
Forse un duplicato di http://stackoverflow.com/questions/2956296/printing-values-in-special-format-using-printf –