std::vprint_nonunicode(std::ostream)
Определено в заголовке <ostream> | ||
|---|---|---|
void vprint_nonunicode( std::ostream& os,
std::string_view fmt, std::format_args args );
| (начиная с C++23) |
Ведёт себя как функция форматированного вывода (за исключением того, что некоторые детали обработки ошибок отличаются).
Выполняет следующие операции по порядку:
- Сначала создаёт объект sentry и проверяет его.
- Затем инициализирует автоматическую переменную, как если бы выполнялось
std::string out = std::vformat(os.getloc(), fmt, args);. - Наконец, вставляет последовательность символов
[out.begin(),out.end())вos.
| После записи символов в | (начиная с C++26) |
Параметры
| os | - | выходной поток, в который вставляются данные | ||||||||||||||||
| fmt | - | объект, представляющий форматную строку. Форматная строка состоит из
Каждое поле замены имеет следующий формат:
|
||||||||||||||||
| args | - | аргументы для форматирования |
Исключения
-
std::bad_allocпри сбое выделения памяти. - Передаёт любое исключение, выброшенное любым форматтером, например
std::format_error, независимо от значенияos.exceptions()и не устанавливаяios_base::badbitв состоянии ошибкиos. - Может выбросить
ios_base::failure, вызванноеos.setstate(ios_base::badbit), которое вызывается при неудачной вставке вos.
Примечания
| Макрос проверки поддержки возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_print | 202207L | (C++23) | Форматированный вывод |
__cpp_lib_format | 202207L | (C++23) | Предоставление std::basic_format_string |
Пример
См. также
|
(C++23) | выполняет вывод с учётом Unicode, используя представление аргументов с устранённой типизацией (функция) |
|
(C++23) | выводит форматированное представление аргументов (шаблон функции) |
| вставляет символьные данные или выполняет вставку в поток rvalue (шаблон функции) |
|
|
(C++23) | выводит в stdout или файловый поток, используя представление аргументов с устранённой типизацией (функция) |
|
(C++20) | сохраняет форматированное представление аргументов в новой строке (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_ostream/vprint_nonunicode