namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:include:format
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


kennen:include:format [2021-05-29 17:12] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== <format> ======
 +===== Funktionen =====
 +<code cpp>
 +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)
 +</code>
 +[[..:lib:format|Beschreibung]]:
 + Liefert die 
 + nach den Vorgaben der Formatzeichenkette
 + aufbereitete 
 + zeichenmäßige Darstellung der Argumente.
 +
 +<code cpp>
 +template<class Out, class... Args>
 +size_t formatted_size ([const std::locale& loc,] std::string_view fmt, const Args&... args) 
 +</code>
 +[[..:lib:formatted_size|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:
 +<code cpp>
 +auto s = format("The answer is {}. {{ {} }}", 42, "Douglas Adams"); // The answer is 42. { Douglas Adams }
 +</code>
 +
 +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 =====
 +<code cpp>
 +template<class T, class charT = char> struct formatter;
 +</code>
 +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: 2021-05-29 17:12 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki