Anda mencari kaedah untuk memformat output menggunakan operator output (<<) dalam C . Walaupun anda boleh menggunakan printf, anda lebih suka menggunakan operator output.
Kod berikut secara berkesan memformatkan output menggunakan operator output:
#include <iostream> #include <iomanip> using namespace std; int main() { int zipCode = 12345; cout << setw(5) << setfill('0') << zipCode << endl; return 0; }</h2> <p>Kod ini menggunakan manipulator IO untuk mengawal padding:</p> <ul> <li>setw(lebar) menetapkan medan lebar hingga lima.</li> <li>setfill(fillchar) menetapkan aksara isian kepada '0'.</li> </ul> <p>Ini menyebabkan kod ZIP diformatkan dengan sifar pendahuluan: 012345.</p> <h2>Pendekatan Alternatif</h2> <p>Jika anda lebih suka pendekatan yang lebih ringkas, anda boleh menggunakan fmt perpustakaan:</p> <pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);
Dalam C 20 dan kemudian, kefungsian std::format tersedia:
cout << std::format("{:05d}", zipCode);
Perhatikan bahawa manipulator IO ini mempengaruhi global keadaan cout. Penggunaan cout seterusnya akan terjejas melainkan manipulasi dibuat asal secara eksplisit.
Untuk nombor negatif, gunakan std::internal untuk meletakkan aksara isian antara tanda dan magnitud:
cout << internal << setw(5) << setfill('0') << zipCode << endl;
Anda boleh mengandaikan bahawa semua kod ZIP adalah bukan negatif, tetapi ini adalah andaian namun begitu.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Memformat Output Menggunakan Operator Output C (`. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!