namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:include:format

<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 format_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 Basisvorspann 0b / 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).

kennen/include/format.txt · Zuletzt geändert: 2020-10-25 14:20 von rrichter