std::vformat
From cppreference.com
| ヘッダー <format> で定義 |
||
| std::string vformat( std::string_view fmt, std::format_args args ); |
(1) | (C++20以降) |
| std::wstring vformat( std::wstring_view fmt, std::wformat_args args ); |
(2) | (C++20以降) |
| std::string vformat( const std::locale& loc, std::string_view fmt, std::format_args args ); |
(3) | (C++20以降) |
| std::wstring vformat( const std::locale& loc, std::wstring_view fmt, std::wformat_args args ); |
(4) | (C++20以降) |
args に保持されているフォーマット引数を、フォーマット文字列 fmt に従ってフォーマットし、結果を文字列として返します。指定されている場合、loc はロケール固有のフォーマットに使用されます。
目次 |
[編集] パラメータ
| fmt | - | フォーマット文字列を表すオブジェクト。フォーマット文字列は以下で構成される:
各置換フィールドは以下の形式を持つ。
1) フォーマット指定なしの置換フィールド
2) フォーマット指定ありの置換フィールド
| ||||||||||||||||||||||||||||||||||||||||||||||
| args | - | フォーマットする引数 | ||||||||||||||||||||||||||||||||||||||||||||||
| loc | - | ロケール固有のフォーマットに使用される std::locale | ||||||||||||||||||||||||||||||||||||||||||||||
[編集] 戻り値
フォーマットされた結果を保持する文字列オブジェクト。
[編集] 例外
fmt が提供された引数に対して有効なフォーマット文字列でない場合、またはメモリ割り当ての失敗時に std::bad_alloc がスローされる場合は、std::format_error をスローします。また、フォーマッタまたはイテレータ操作によってスローされた例外も伝播します。
[編集] 例
このコードを実行
#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); }
出力
Hello, C++23