std:: println
|
Défini dans l'en-tête
<print>
|
||
|
template
<
class
...
Args
>
void println ( std:: format_string < Args... > fmt, Args && ... args ) ; |
(1) | (depuis C++23) |
|
template
<
class
...
Args
>
void
println
(
std::
FILE
*
stream,
|
(2) | (depuis C++23) |
|
void
println
(
)
;
|
(3) | (depuis C++26) |
|
void
println
(
std::
FILE
*
stream
)
;
|
(4) | (depuis C++26) |
Formatez args selon la chaîne de format fmt avec un ' \n ' ajouté (ce qui signifie que chaque sortie se termine par une nouvelle ligne), et imprimez le résultat vers un flux.
|
std:: print ( stream, "{} \n " , std:: format ( fmt, std:: forward < Args > ( args ) ... ) ) ; |
(jusqu'à C++26) |
|
std::
print
(
stream,
std::
runtime_format
(
std::
string
(
fmt.
get
(
)
)
+
'
\n
'
)
,
|
(depuis C++26) |
Si
std::
formatter
<
Ti,
char
>
ne satisfait pas aux exigences
BasicFormatter
pour tout
Ti
dans
Args
(comme requis par
std::make_format_args
), le comportement est indéfini.
Table des matières |
Paramètres
| stream | - | flux de fichier de sortie vers lequel écrire | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
Chaque champ de remplacement a le format suivant :
1)
champ de remplacement sans spécification de format
2)
champ de remplacement avec spécification de format
|
||||||||||||||||||||||||||||||||||||||||||||||
| args... | - | arguments à formater | ||||||||||||||||||||||||||||||||||||||||||||||
Exceptions
- std::bad_alloc en cas d'échec d'allocation.
- std::system_error , si l'écriture dans le flux échoue.
- Propage toute exception levée par les formatters utilisés, par exemple std::format_error .
Notes
Bien que les surcharges ( 3,4 ) soient ajoutées en C++26, toutes les implémentations connues les rendent disponibles en mode C++23.
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_print
|
202207L
|
(C++23) | Sortie formatée |
202403L
|
(C++26) | Sortie formatée non tamponnée [1] | |
__cpp_lib_format
|
202207L
|
(C++23) | Exposition de std::basic_format_string |
- ↑ Bien que P3107R5 soit accepté comme DR, std::runtime_format n'est disponible qu'à partir de C++26. Par conséquent, la résolution ne peut pas être appliquée en C++23.
Exemple
#include <print> int main() { // Chaque appel à std::println se termine par un saut de ligne std::println("Please"); // surcharge (1) std::println("enter"); // (1) std::print("pass"); std::print("word"); std::println(); // (3); valide depuis C++26; même effet que std::print("\n"); }
Sortie :
Please enter password
Voir aussi
|
(C++23)
|
imprime vers
stdout
ou un flux de fichier en utilisant la
représentation formatée
des arguments
(modèle de fonction) |
|
(C++23)
|
affiche la
représentation formatée
des arguments avec un
'
\n
'
ajouté
(modèle de fonction) |
|
(C++20)
|
stocke la représentation formatée des arguments dans une nouvelle chaîne
(modèle de fonction) |
|
(C++11)
|
imprime une sortie formatée vers
stdout
, un flux de fichier ou un tampon
(fonction) |