std::println
Определено в заголовке <print> | ||
|---|---|---|
template< class... Args >
void println( std::FILE* stream,
std::format_string<Args...> fmt, Args&&... args );
| (1) | (с C++23) |
template< class... Args > void println( std::format_string<Args...> fmt, Args&&... args ); | (2) | (с C++23) |
Форматирует args по строке формата fmt с добавленным '\n' (что означает, что каждый вывод заканчивается новой строкой) и выводит результат в поток.
1) Эквивалентно:
std::print(stream, "{}\n", std::format(fmt, args...));
2) такое же, как (1), когда
stream равно стандартному потоку вывода C stdout, т.е. std::println(stdout, fmt, args...);
Поведение не определено, если std::formatter<Ti, char> не удовлетворяет требованиям BasicFormatter для любого Ti в Args (как требуется std::make_format_args).
Параметры
| stream | - | поток вывода файла для записи | ||||||||||||||
| fmt | - | объект, представляющий строку формата. Строка формата состоит из
Каждое поле замены имеет следующий формат:
|
||||||||||||||
| args... | - | аргументы для форматирования |
Возвращаемое значение
(нет)
Исключения
-
std::bad_allocпри ошибке выделения памяти. -
std::system_error, если запись в поток завершается ошибкой. - Передает любое исключение, брошенное используемыми форматерами, например
std::format_error.
Примечания
| Макрос проверки наличия функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_print | 202207L | (C++23) | Форматированный вывод |
__cpp_lib_format | 202207L | (C++23) | Вызов std::basic_format_string |
Пример
#include <print>
int main()
{
// Each call to std::println ends with new-line
std::println("Please");
std::println("enter");
std::print("pass");
std::print("word");
std::println(""); // same effect as std::print("\n");
}Вывод:
Please enter password
См. также
|
(C++23) | печатает в stdout или поток файла, используя форматированное представление аргументов (шаблон функции) |
|
(C++23) | выводит форматированное представление аргументов с добавленным '\n' (шаблон функции) |
|
(C++20) | сохраняет форматированное представление аргументов в новой строке (шаблон функции) |
|
(C++11) | печатает форматированный вывод в stdout, поток файла или буфер (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/println