Ich möchte cout
ein int mit führenden Nullen ausgeben, damit der Wert 1
als 001
und der Wert 25
als gedruckt wird 025
. Wie kann ich das machen?
c++
formatting
cout
jamieQ
quelle
quelle
Antworten:
Mit den folgenden,
die Ausgabe wird sein
setfill
ist' '
standardmäßig auf das Leerzeichen ( ) eingestellt.setw
Legt die Breite des zu druckenden Feldes fest und fertig.Wenn Sie wissen möchten, wie Ausgabestreams im Allgemeinen formatiert werden, habe ich eine Antwort auf eine andere Frage geschrieben. Ich hoffe, sie ist nützlich: Formatieren der C ++ - Konsolenausgabe.
quelle
char* or char[]
) schreiben, um nicht direkt zu trösten. Eigentlich schreibe ich eine Funktion, die formatierte Zeichenfolge<iostream>
und<iomanip>
am Anfang der Datei, und Sie werden schreiben müssenusing namespace std;
, aber das ist eine schlechte Praxis so vielleicht stattdessen sollten Sie mit den drei Kennungen in dieser Antwort Präfixstd::
.Eine andere Möglichkeit, dies zu erreichen, ist die Verwendung der alten
printf()
Funktion der C-SpracheSie können dies wie verwenden
Dies wird
09 - 01 - 0001
auf der Konsole gedruckt .Sie können auch eine andere Funktion verwenden
sprintf()
, um eine formatierte Ausgabe in eine Zeichenfolge wie die folgende zu schreiben:Vergessen Sie nicht,
stdio.h
für beide Funktionen eine Header-Datei in Ihr Programm aufzunehmenZu beachten ist:
Sie können Leerzeichen entweder mit 0 oder mit einem anderen Zeichen (nicht mit einer Zahl) füllen.
Wenn Sie so etwas wie einen
%24d
Formatbezeichner schreiben, werden keine2
Leerzeichen ausgefüllt. Dadurch wird das Pad auf gesetzt24
und Leerzeichen ausgefüllt.quelle
Dies erzeugt die Ausgabe:
quelle
quelle
char* or char[]
) schreiben, um nicht direkt zu trösten. Eigentlich schreibe ich eine Funktion, die formatierte Zeichenfolgestd::stringstream
.sprintf(s, "%02d-%02d-%04d", dd, mm, yy);
wo ess
istchar*
unddd, mm, yy
sindint
. Dadurch wird das02-02-1999
Format gemäß den Werten in Variablen geschrieben.Ich würde die folgende Funktion verwenden. Ich mag nicht
sprintf
; es macht nicht was ich will !!quelle
Ein weiteres Beispiel für die Ausgabe von Datum und Uhrzeit mit Null als Füllzeichen für Instanzen einstelliger Werte: 2017-06-04 18:13:02
quelle