std:: println
|
Definido en el encabezado
<print>
|
||
|
template
<
class
...
Args
>
void println ( std:: format_string < Args... > fmt, Args && ... args ) ; |
(1) | (desde C++23) |
|
template
<
class
...
Args
>
void
println
(
std::
FILE
*
stream,
|
(2) | (desde C++23) |
|
void
println
(
)
;
|
(3) | (desde C++26) |
|
void
println
(
std::
FILE
*
stream
)
;
|
(4) | (desde C++26) |
Formatee args de acuerdo con la cadena de formato fmt con ' \n ' añadido (lo que significa que cada salida termina con una nueva línea), e imprima el resultado a un flujo.
|
std:: print ( stream, "{} \n " , std:: format ( fmt, std:: forward < Args > ( args ) ... ) ) ; |
(hasta C++26) |
|
std::
print
(
stream,
std::
runtime_format
(
std::
string
(
fmt.
get
(
)
)
+
'
\n
'
)
,
|
(desde C++26) |
Si
std::
formatter
<
Ti,
char
>
no cumple con los requisitos de
BasicFormatter
para cualquier
Ti
en
Args
(como lo requiere
std::make_format_args
), el comportamiento es indefinido.
Contenidos |
Parámetros
| stream | - | flujo de archivo de salida donde escribir | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
Cada campo de reemplazo tiene el siguiente formato:
1)
campo de reemplazo sin especificación de formato
2)
campo de reemplazo con especificación de formato
|
||||||||||||||||||||||||||||||||||||||||||||||
| args... | - | argumentos a formatear | ||||||||||||||||||||||||||||||||||||||||||||||
Excepciones
- std::bad_alloc en caso de fallo de asignación.
- std::system_error , si falla la escritura en el flujo.
- Propaga cualquier excepción lanzada por los formatters utilizados, por ejemplo std::format_error .
Notas
Aunque las sobrecargas ( 3,4 ) se añaden en C++26, todas las implementaciones conocidas las hacen disponibles en modo C++23.
| Macro de prueba de características | Valor | Std | Característica |
|---|---|---|---|
__cpp_lib_print
|
202207L
|
(C++23) | Salida formateada |
202403L
|
(C++26) | Salida formateada sin búfer [1] | |
__cpp_lib_format
|
202207L
|
(C++23) | Exponiendo std::basic_format_string |
- ↑ Aunque P3107R5 se acepta como un DR, std::runtime_format solo está disponible a partir de C++26. Como resultado, la resolución no puede aplicarse en C++23.
Ejemplo
#include <print> int main() { // Cada llamada a std::println termina con nueva línea std::println("Please"); // sobrecarga (1) std::println("enter"); // (1) std::print("pass"); std::print("word"); std::println(); // (3); válido desde C++26; mismo efecto que std::print("\n"); }
Salida:
Please enter password
Véase también
|
(C++23)
|
imprime en
stdout
o un flujo de archivo usando
representación formateada
de los argumentos
(plantilla de función) |
|
(C++23)
|
genera
representación formateada
de los argumentos con
'
\n
'
añadido
(plantilla de función) |
|
(C++20)
|
almacena representación formateada de los argumentos en una nueva cadena
(plantilla de función) |
|
(C++11)
|
imprime salida formateada en
stdout
, un flujo de archivo o un búfer
(función) |