std::vformat
Von cppreference.com
| Definiert in Header <format> |
||
| std::string vformat( std::string_view fmt, std::format_args args ); |
(1) | (seit C++20) |
| std::wstring vformat( std::wstring_view fmt, std::wformat_args args ); |
(2) | (seit C++20) |
| std::string vformat( const std::locale& loc, std::string_view fmt, std::format_args args ); |
(3) | (seit C++20) |
| std::wstring vformat( const std::locale& loc, std::wstring_view fmt, std::wformat_args args ); |
(4) | (seit C++20) |
Formatiert die Argumente in args gemäß der Formatzeichenkette fmt und gibt das Ergebnis als Zeichenkette zurück. Falls vorhanden, wird loc für die gebietsschemaabhängige Formatierung verwendet.
Inhalt |
[bearbeiten] Parameter
| fmt | - | ein Objekt, das den Formatstring repräsentiert. Der Formatstring besteht aus
Jedes Ersetzungsfeld hat das folgende Format:
1) Ersetzungsfeld ohne Formatangabe
2) Ersetzungsfeld mit Formatangabe
| ||||||||||||||||||||||||||||||||||||||||||||||
| args | - | zu formatierende Argumente | ||||||||||||||||||||||||||||||||||||||||||||||
| loc | - | std::locale, die für die lokale-spezifische Formatierung verwendet wird. | ||||||||||||||||||||||||||||||||||||||||||||||
[bearbeiten] Rückgabewert
Ein Zeichenkettenobjekt, das das formatierte Ergebnis enthält.
[bearbeiten] Ausnahmen
Wirft std::format_error, wenn fmt keine gültige Formatzeichenkette für die bereitgestellten Argumente ist, oder std::bad_alloc bei einem Speicherzuweisungsfehler. Propagiert auch jede Ausnahme, die von Formatierern oder Iteratoroperationen ausgelöst wird.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <format> #include <iostream> template<typename... Args> inline void println(const std::format_string<Args...> fmt, Args&&... args) { std::cout << std::vformat(fmt.get(), std::make_format_args(args...)) << '\n'; } int main() { println("{}{} {}{}", "Hello", ',', "C++", -1 + 2 * 3 * 4); }
Ausgabe
Hello, C++23