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
Freigeben: 2024-11-17 21:14:02
Original
662 Leute haben es durchsucht

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage