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/0xfür binäre, oktale und Hexadezimaldarstellung, bei Gleitkommazahlen stets mit Dezimalpunkt,0Auffü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).
