Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh memformat jadual data dalam C dengan mudah menggunakan `setw()`, `setfill()` dan `left` (atau `right`)?

Bagaimanakah saya boleh memformat jadual data dalam C dengan mudah menggunakan `setw()`, `setfill()` dan `left` (atau `right`)?

Barbara Streisand
Barbara Streisandasal
2024-11-17 21:14:02584semak imbas

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

Mudah Memformat Jadual Data dalam C

Apabila bekerja dengan jadual data, selalunya perlu memformatkannya dengan cara yang menjadikannya mudah dibaca dan ditafsir. C menyediakan beberapa fungsi dalam perpustakaan untuk membantu dalam tugasan ini.

Fungsi setw(), setfill(), dan kiri (atau kanan) berfungsi bersama untuk mengawal lebar, aksara isian dan penjajaran elemen data. Dengan menggunakan fungsi ini dengan bijak, anda boleh membuat jadual berformat dengan usaha yang minimum.

Sebagai contoh, pertimbangkan jadual tidak berformat berikut:

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

Untuk memformat jadual seperti yang dikehendaki:

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;

Kod ini akan menghasilkan jadual berformat:

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

Untuk memudahkan lagi kod, anda boleh gunakan fungsi templat untuk mengendalikan pemformatan:

template<typename T> void printElement(T t, const int&amp; width)
{
    cout << left << setw(width) << setfill(separator) << t;
}

Menggunakan fungsi templat ini, anda boleh memformat elemen seperti berikut:

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;

Dengan menggabungkan kuasa setw(), setfill( ), kiri (atau kanan) dan fungsi templat, anda boleh memformat jadual data dalam C dengan mudah tanpa memerlukan pengiraan yang rumit.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memformat jadual data dalam C dengan mudah menggunakan `setw()`, `setfill()` dan `left` (atau `right`)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn