Heim >Backend-Entwicklung >C++ >Wie kann ich Datentabellen in C einfach mit „setw()', „setfill()' und „left' (oder „right') formatieren?

Wie kann ich Datentabellen in C einfach mit „setw()', „setfill()' und „left' (oder „right') formatieren?

Barbara Streisand
Barbara StreisandOriginal
2024-11-17 21:14:02663Durchsuche

How can I easily format data tables in C   using `setw()`, `setfill()`, and `left` (or `right`)?

Einfaches Formatieren von Datentabellen in C

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 Bibliothek zur Unterstützung bei dieser Aufgabe.

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&amp; 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn