std::vformat
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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 используется для форматирования, зависящего от локали | ||||||||||||||||||||||||||||||||||||||||||
Возвращаемое значение
Строковый объект, содержащий форматированный результат.
Исключения
Генерирует 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("{}{} {}{}", "Привет", ',', "C++", -1 + 2 * 3 * 4);
}
Вывод:
Привет, C++23