printf Tabelle ausgeben
-
Hallo,
es gibt bereits einige Forenbeiträge mit der Frage, "wie gebe ich mit printf eine Tabellenstruktur aus?". Leider hat keiner davon mein Problem gelöst:
Ich habe 4 Strings (char-arrays) mit jeweils 4 Einträgen. Diese will ich in einer 4 mal 4 Tabelle ausgeben. Die jeweiligen Einträge haben dabei unterschiedliche Länge.
Ich habe vor, zunächst die maximale Länge jeder Spalte zu berechnen, damit alle Einträge sauber untereinander stehen. Mit
printf ("%3d\n", x);
kann ich ja eine Variable mit 3 Platzhaltern ausgeben. Wie kann ich aber eine Variable mit x Platzhaltern ausgeben (x int Variable)???
Gibt es eina andere / komfortablere Methode zur Ausgabe einer Tabelle mit printf? (Tab \t funktioniert in meinem Fall wohl nicht)
-
Sebi09 schrieb:
Wie kann ich aber eine Variable mit x Platzhaltern ausgeben (x int Variable)???
Du könntest den Formatstring doch einfach vorher in Ruhe zusammen basteln und dann an printf übergeben.
-
int breite; for(breite = 5; breite < 8; ++breite) { printf("%*d\n", breite, 10); }
-
Super, vielen Dank!
-
Rein interesse-halber: Lässt sich das ganze auch (unkompliziert) abändern, sodass die Spalten linksbündig, anstelle von rechtsbündig dargestellt werden?
Rechtsbündig (derzeitige Ausgabe):
trallala trallala 0 lol lalalala trallala 1234 mamama trallala cs 0 htebxillmu trallala trallala 0 hasmert
Linksbündig:
trallala trallala 0 lol lalalala trallala 1234 mamama trallala xy 0 htebxillmu trallala trallala 0 hasmert[code]
-
Sebi09 schrieb:
Rein interesse-halber: Lässt sich das ganze auch (unkompliziert) abändern, sodass die Spalten linksbündig, anstelle von rechtsbündig dargestellt werden?
Ja.
-
Sebi09 schrieb:
Rein interesse-halber: Lässt sich das ganze auch (unkompliziert) abändern, sodass die Spalten linksbündig, anstelle von rechtsbündig dargestellt werden?
Jup, google sagt dir auch wie:
http://www.google.de/search?q=printf
Dritter Link von oben ^^