std::vformat
Определён в заголовочном файле <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 | - | объект, представляющий строку формата. Строка формата состоит из
Каждое поле подстановки имеет следующий формат:
|
||||||||||||||||
| args | - | аргументы для форматирования | ||||||||||||||||
| loc | - |
std::locale, используемый для форматирования с учётом локали |
Возвращаемое значение
Строковый объект, содержащий отформатированный результат.
Исключения
Выбрасывает std::format_error, если fmt не является допустимой строкой формата для переданных аргументов, или std::bad_alloc при сбое выделения памяти. Также передаёт любые исключения, выброшенные операциями форматирования или итератора.
Пример
#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
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/format/vformat