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/w/cpp/utility/format/vformat