- format[meta header]
- function[meta id-type]
- std[meta namespace]
- cpp20[meta cpp]
namespace std {
string vformat(string_view fmt, format_args args); // (1)
wstring vformat(wstring_view fmt, wformat_args args); // (2)
string vformat(const locale& loc, string_view fmt, format_args args); // (3)
wstring vformat(const locale& loc, wstring_view fmt, wformat_args args); // (4)
}
- string[link /reference/string/basic_string.md]
- wstring[link /reference/string/basic_string.md]
- string_view[link /reference/string_view/basic_string_view.md]
- wstring_view[link /reference/string_view/basic_string_view.md]
- format_args[link /reference/format/basic_format_args.md]
- wformat_args[link /reference/format/basic_format_args.md]
- locale[link /reference/locale/locale.md]
書式文字列fmt
に従ったフォーマットでargs
の文字列表現を文字列オブジェクトで返す。
- (1): マルチバイト文字列版
- (2): ワイド文字列版
- (3): マルチバイト文字列版 (ロケール指定あり)
- (4): ワイド文字列版 (ロケール指定あり)
format
のフォーマット引数を型消去したバージョンであり、内部的に使用される。文字列をフォーマットする目的で直接利用する必要はない。
ただし、format
のような関数を自作する場合は、vformat
を使って実装すると便利である。
args
の文字列表現を保持する文字列
フォーマット実行時に失敗した場合、format_error
を投げる。
string vformat(string_view fmt, format_args args) {
string str;
vformat_to(back_inserter(str), fmt.str, args);
return str;
}
string vformat(wstring_view fmt, wformat_args args) {
wstring str;
vformat_to(back_inserter(str), fmt.str, args);
return str;
}
string vformat(const locale& loc, string_view fmt, format_args args) {
string str;
vformat_to(loc, back_inserter(str), fmt.str, args);
return str;
}
string vformat(const locale& loc, wstring_view fmt, wformat_args args) {
wstring str;
vformat_to(loc, back_inserter(str), fmt.str, args);
return str;
}
- string[link /reference/string/basic_string.md]
- wstring[link /reference/string/basic_string.md]
- string_view[link /reference/string_view/basic_string_view.md]
- wstring_view[link /reference/string_view/basic_string_view.md]
- format_args[link /reference/format/basic_format_args.md]
- wformat_args[link /reference/format/basic_format_args.md]
- locale[link /reference/locale/locale.md]
- vformat_to[link vformat.md]
- back_inserter[link /reference/iterator/back_inserter.md]
- C++20
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??