Heim >Backend-Entwicklung >C++ >Wie kann ich Datentabellen in C einfach mit „setw()', „setfill()' und „left' (oder „right') formatieren?
Bei der Arbeit mit Datentabellen ist es oft notwendig, diese so zu formatieren, dass sie leicht lesbar und interpretierbar sind. C bietet mehrere Funktionen im
Die Funktionen setw(), setfill() und left (oder right) arbeiten zusammen, um die Breite, das Füllzeichen und die Ausrichtung von Datenelementen zu steuern. Wenn Sie diese Funktionen sinnvoll einsetzen, können Sie mit minimalem Aufwand formatierte Tabellen erstellen.
Betrachten Sie beispielsweise die folgende unformatierte Tabelle:
Bob Doe 10.96 7.61 14.39 2.11 47.30 14.21 44.58 5.00 60.23 Helen City 10.44 7.78 16.27 1.99 48.92 13.93 53.79 5.00 70.97 Joe Green 10.90 7.33 14.49 2.05 47.91 14.15 44.45 4.70 73.98
So formatieren Sie die Tabelle wie gewünscht:
const char separator = ' '; const int nameWidth = 6; const int numWidth = 8; cout << left << setw(nameWidth) << setfill(separator) << "Bob"; cout << left << setw(nameWidth) << setfill(separator) << "Doe"; cout << left << setw(numWidth) << setfill(separator) << 10.96; cout << left << setw(numWidth) << setfill(separator) << 7.61; cout << left << setw(numWidth) << setfill(separator) << 14.39; cout << left << setw(numWidth) << setfill(separator) << 2.11; cout << left << setw(numWidth) << setfill(separator) << 47.30; cout << left << setw(numWidth) << setfill(separator) << 14.21; cout << left << setw(numWidth) << setfill(separator) << 44.58; cout << left << setw(numWidth) << setfill(separator) << 5.00; cout << left << setw(numWidth) << setfill(separator) << 60.23; cout << endl;
Dieser Code erstellt die formatierte Tabelle:
Bob Doe BLR 10.96 7.61 14.39 2.11 47.30 14.21 44.58 5.00 60.23 4:27.47 Helen City CUB 10.90 7.33 14.49 2.05 47.91 14.15 44.45 4.70 73.98 4:29.17 Joe Green USA 10.44 7.78 16.27 1.99 48.92 13.93 53.79 5.00 70.97 5:06.59
Um den Code weiter zu vereinfachen, können Sie eine Vorlagenfunktion verwenden um die Formatierung zu handhaben:
template<typename T> void printElement(T t, const int& width) { cout << left << setw(width) << setfill(separator) << t; }
Mit dieser Vorlagenfunktion können Sie Elemente wie folgt formatieren:
printElement("Bob", nameWidth); printElement("Doe", nameWidth); printElement(10.96, numWidth); printElement(17.61, numWidth); printElement(14.39, numWidth); printElement(2.11, numWidth); printElement(47.30, numWidth); printElement(14.21, numWidth); printElement(44.58, numWidth); printElement(5.00, numWidth); printElement(60.23, numWidth); cout << endl;
Durch die Kombination der Leistung von setw(), setfill(), left ( oder rechts) und Vorlagenfunktionen können Sie Datentabellen einfach in C formatieren, ohne dass komplexe Berechnungen erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie kann ich Datentabellen in C einfach mit „setw()', „setfill()' und „left' (oder „right') formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!