Memformat Output dengan C Stream: Alternatif kepada printf
Tidak seperti printf, aliran output C menyediakan pilihan yang mudah untuk mengawal penampilan output melalui penggunaan manipulator aliran. Untuk mencapai pemformatan yang sama seperti printf("d", zipCode), anda boleh menggunakan pendekatan berikut:
std::setw dan std::setfill
std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;
std::setw(5) menentukan lebar medan 5, memastikan bahawa output berlapik sifar ke kiri jika perlu. std::setfill('0') mentakrifkan '0' sebagai aksara untuk mengisi sebarang ruang tambahan.
Kelebihan Manipulator Strim
Menggunakan manipulator strim menawarkan beberapa faedah :
Pilihan Pemformatan Ganti
Perhatikan bahawa perpustakaan std::iomanip menyediakan pemformatan tambahan pilihan:
Mengendalikan Negatif Nombor
Jika anda perlu mengendalikan nombor negatif, anda boleh menggunakan std::internal, yang meletakkan aksara isian antara tanda dan magnitud:
std::cout << std::internal << std::setw(5) << std::setfill('0') << zipCode << std::endl;
Alternatif Perpustakaan
Pertimbangkan untuk menggunakan perpustakaan fmt atau standard C 20 yang akan datang, yang menyediakan pilihan pemformatan yang berkuasa seperti:
Alternatif ini menawarkan penyelesaian pemformatan yang ringkas dan fleksibel.
Atas ialah kandungan terperinci Bagaimanakah C Streams Boleh Menggantikan printf untuk Pemformatan Output?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!