Ausgabe mit führenden Nullen in C formatieren
In C ist die Formatierung der Ausgabe entscheidend, um Daten auf eine bestimmte Art und Weise anzuzeigen. Ein häufiges Szenario besteht darin, führende Nullen zu drucken, ähnlich wie printf dies mit d handhabt. Während die Verwendung von printf eine Option ist, bevorzugen Sie möglicherweise den C-Stream-Ausgabeoperator (<<).
Eine Möglichkeit, führende Nullen zu erreichen, besteht darin, eine formatierte Zeichenfolge mithilfe von sprintf mit Ihrem Ausgabeoperator zu verketten, wie unten gezeigt :
std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;
Es gibt jedoch eine sauberere Lösung mit IO Manipulatoren:
#include <iomanip> using namespace std; cout << setw(5) << setfill('0') << zipCode << endl; // or without 'using namespace std;' std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;</p> <p>setw(width) legt die Feldbreite fest, während setfill(char) das Zeichen angibt, mit dem der verbleibende Platz gefüllt wird. In diesem Fall wird „0“ verwendet, um führende Nullen hinzuzufügen.</p> <p>Beachten Sie, dass diese Manipulatoren den globalen Status des cout-Objekts beeinflussen. Um unbeabsichtigte Auswirkungen bei späteren Verwendungen zu vermeiden, sollten Sie diese durch Zurücksetzen der Flags rückgängig machen.</p> <p>Wenn Sie eine prägnante Formatierung bevorzugen, sollten Sie die Verwendung der fmt-Bibliothek in Betracht ziehen:</p> <pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);
C 20 und höher erstellt -in Unterstützung für std::format, und C 23 führt std::print ein und bietet noch praktischere Optionen für die Formatierung Ausgabe.
Für nichtnegative Zahlen wie Postleitzahlen reicht der obige Code aus. Wenn Sie jedoch negative Zahlen verarbeiten müssen, fügen Sie std::internal hinzu, um das Füllzeichen zwischen dem Vorzeichen und der Größe zu platzieren:
cout << internal << setw(5) << setfill('0') << zipCode << endl;
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe mit führenden Nullen in C formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!