Inhaltsverzeichnis
<format>
Funktionen
std::string format (std::string_view fmt, const Args&... args) std::string format (const std::locale& loc, std::string_view fmt, const Args&... args) Out format_to (Out out, std::string_view fmt, const Args&... args) Out format_to (Out out, const std::locale& loc, std::string_view fmt, const Args&... args) Out format_to_n (Out out, Size n, std::string_view fmt, const Args&... args) Out format_to_n (Out out, Size n, const std::locale& loc, std::string_view fmt, const Args&... args)
Beschreibung: Liefert die nach den Vorgaben der Formatzeichenkette aufbereitete zeichenmäßige Darstellung der Argumente.
template<class Out, class... Args> size_t formatted_size ([const std::locale& loc,] std::string_view fmt, const Args&... args)
Beschreibung: Liefert der Anzahl der für die Aufbereitung nötigen Zeichen.
Formatzeichenkette
Die Formatzeichenkette enthält
von geschweiften Klammern umschlossene Platzhalter
{[arg_id][:format_spec]}
.
Doppelte geschweifte Klammern {{
und }}
werden zur Darstellung einzelner geschweifter Klammern genutzt:
auto s = format("The answer is {}. {{ {} }}", 42, "Douglas Adams"); // The answer is 42. { Douglas Adams }
Die arg_id
bestimmt, welches der nachfolgenden Argumente formatiert wird.
Fehlt sie, werden mit 0 beginnende Nummern als arg_id
eingesetzt.
Als Formatangaben [[fill]align][sign]["#"]["0"][width]["." precision][type]
können folgen
- ein Füllzeichen,
- eine Ausrichtung
<
(linksbündig) |^
(mittig) |>
(rechtsbündig), - Vorzeichenvorgabe
+
(auch bei positiven Zahlen) |-
(nur bei negativen Zahlen) |' '
(Leerzeichen bei positiven Zahlen), #
mit Basisvorspann0b
/0
/0x
für binäre, oktale und Hexadezimaldarstellung, bei Gleitkommazahlen stets mit Dezimalpunkt,0
Auffüllen mit Nullen nach dem Vorzeichen,- die Breite des Ausgabebereichs,
- die Anzahl der Nachkommastellen bei Gleitkommazahlen,
- eine Typangabe (bei zwei Optionen: Klein- bzw. Großschreibung):
s | Zeichenkette |
c | Zeichen |
p | Pointer |
b , B | Binärdarstellung |
d | Dezimalzahl |
o | Oktaldarstellung |
x , X | Hexadezimaldarstellung |
a , A | hexcodierte Gleitkommazahl |
e , e | Exponentschreibweise |
f , F | Festpunktschreibweise |
g , G | allgemeine Gleitkommaschreibweise |
L | locale-spezifische Formatierung |
Hilfsklassen
template<class T, class charT = char> struct formatter;
Für eigene Typen können spezialisierte formatter
angelegt werden
(siehe https://fmt.dev/latest/api.html, Formatting User-defined Types).