Heim >Backend-Entwicklung >C++ >Wie kann ich die Ausgabe mit dem C-Ausgabeoperator (`

Wie kann ich die Ausgabe mit dem C-Ausgabeoperator (`

Patricia Arquette
Patricia ArquetteOriginal
2024-12-07 09:18:14352Durchsuche

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

Ausgabe mit dem Ausgabeoperator (<<) formatieren

Sie suchen nach einer Methode zum Formatieren der Ausgabe mit dem Ausgabeoperator (<<) in C. Während Sie printf verwenden könnten, bevorzugen Sie die Verwendung des Ausgabeoperators.

Lösung

Der folgende Code formatiert die Ausgabe effektiv mit dem Ausgabeoperator:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  int zipCode = 12345;
  cout << setw(5) << setfill('0') << zipCode << endl;

  return 0;
}</h2>
<p>Dieser Code nutzt E/A-Manipulatoren, um die Auffüllung zu steuern:</p>
<ul>
<li>setw(width) setzt die Feldbreite auf fünf.</li>
<li>setfill(fillchar) setzt das Füllzeichen auf „0“.</li>
</ul>
<p>Dies führt dazu, dass die Postleitzahl mit führenden Nullen formatiert wird: 012345.</p>
<h2> Alternative Ansätze</h2>
<p>Wenn Sie einen prägnanteren Ansatz bevorzugen, können Sie den fmt verwenden Bibliothek:</p>
<pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);

In C 20 und höher ist die std::format-Funktionalität verfügbar:

cout << std::format("{:05d}", zipCode);

Überlegungen

Beachten Sie, dass diese IO-Manipulatoren das Globale beeinflussen Bundesstaat cout. Nachfolgende Verwendungen von cout sind betroffen, es sei denn, die Manipulationen werden explizit rückgängig gemacht.

Für negative Zahlen verwenden Sie std::internal, um das Füllzeichen zwischen dem Vorzeichen und der Größe zu platzieren:

cout << internal << setw(5) << setfill('0') << zipCode << endl;

Sie können mit Sicherheit davon ausgehen, dass alle Postleitzahlen nicht negativ sind, aber dies ist dennoch eine Annahme.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe mit dem C-Ausgabeoperator (`. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn