std::vformat
Материал из 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 используется для форматирования, зависящего от локали |
[править] Возвращаемое значение
Строковый объект, содержащий форматированный результат.
[править] Исключения
Генерирует 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