Rumah >pembangunan bahagian belakang >C++ >Bagaimana Saya Boleh Memformat Output Menggunakan Operator Output C (`

Bagaimana Saya Boleh Memformat Output Menggunakan Operator Output C (`

Patricia Arquette
Patricia Arquetteasal
2024-12-07 09:18:14389semak imbas

How Can I Format Output Using the C   Output Operator (`

Memformat Output Menggunakan Operator Output (<<)

Anda mencari kaedah untuk memformat output menggunakan operator output (<<) dalam C . Walaupun anda boleh menggunakan printf, anda lebih suka menggunakan operator output.

Penyelesaian

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);

Pertimbangan

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!

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