Ich versuche, eine sauber formatierte Tabelle in C++ zu erstellen, indem ich die Breite der verschiedenen Felder einstelle. Ich kann setw(n) verwenden, indem ich etwas tue wie
cout << setw(10) << x << setw(10) << y << endl;
oder ändern Sie ios_base::width
cout.width (10);
cout << x;
cout.width (10);
cout << y << endl;
Das Problem ist, dass keine der beiden Alternativen mir erlaubt, eine Standard-Mindestbreite festzulegen, und ich muss sie jedes Mal ändern, wenn ich etwas in den Stream schreiben will.
Kennt jemand eine Möglichkeit, wie ich dies tun kann, ohne denselben Anruf unzählige Male wiederholen zu müssen? Vielen Dank im Voraus.
0 Stimmen
Mögliche Duplikate von Effektive Nutzung der C++ iomanip-Bibliothek oder vielleicht stackoverflow.com/questions/405039/permanent-stdsetw
1 Stimmen
Bezieht sich auf die Klebrigkeit der verschiedenen iomanip-Manipulatoren. setw ist NICHT klebrig: stackoverflow.com/questions/1532640/
0 Stimmen
Okay, tut mir leid. Ich habe schon einmal nach etwas Ähnlichem gesucht, aber ohne Erfolg. Die Antworten hier und in den anderen Beiträgen gaben mir ein gutes Verständnis dafür, wie ich es lösen kann, danke.
1 Stimmen
Wenn Sie können, sollten Sie Boost.Format . Sehen Sie sich die Antwort von Herb Sutter auf die Frage 'C++ alignment when printing cout <<'
0 Stimmen
Eine Arbeitsrunde ist hier: stackoverflow.com/a/37495361/984471