Rumah > pembangunan bahagian belakang > C++ > 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
Lepaskan: 2024-11-17 21:14:02
asal
661 orang telah melayarinya

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
Salin selepas log masuk

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;
Salin selepas log masuk

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan