Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah saya boleh memformat jadual data dalam C dengan mudah menggunakan `setw()`, `setfill()` dan `left` (atau `right`)?
Apabila bekerja dengan jadual data, selalunya perlu memformatkannya dengan cara yang menjadikannya mudah dibaca dan ditafsir. C menyediakan beberapa fungsi dalam
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& 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!