Defined in header <ostream> | ||
---|---|---|
void vprint_unicode( std::ostream& os, std::string_view fmt, std::format_args args ); | (since C++23) |
Behaves as FormattedOutputFunction (except that some details of error reporting differ):
std::string out = std::vformat(os.getloc(), fmt, args);
. [out.begin(), out.end())
into os
, that is, if os
refers to a terminal capable of displaying Unicode, writes out
to this terminal using the native Unicode API. Otherwise, writes unmodified out
to the os
. os | - | output stream to insert data into | ||||||||||||
fmt | - | an object that represents the format string. The format string consists of
Each replacement field has the following format:
|
||||||||||||
args | - | arguments to be formatted |
(none).
std::bad_alloc
on allocation failure. std::format_error
, without regard to the value of os.exceptions()
and without turning on ios_base::badbit
in the error state of os
. ios_base::failure
caused by os.setstate(ios_base::badbit)
which is called if an insertion into os
fails. If invoking the native Unicode API requires transcoding, the invalid code units are substituted with U+FFFD
REPLACEMENT CHARACTER (see "The Unicode Standard Version 14.0 - Core Specification", Chapter 3.9).
Feature-test macro | Value | Std | Comment |
---|---|---|---|
__cpp_lib_print | 202207L | (C++23) | Formatted output |
__cpp_lib_format | 202207L | (C++23) | Exposing std::basic_format_string |
(C++23) | outputs character data using type-erased argument representation (function) |
(C++23) | outputs formatted representation of the arguments (function template) |
inserts character data or insert into rvalue stream (function template) |
|
(C++23) | prints to Unicode capable stdout or a file stream using type-erased argument representation (function) |
(C++20) | stores formatted representation of the arguments in a new string (function template) |
1. | Unicode |
2. | The Unicode Standard Version 14.0 - Core Specification |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ostream/vprint_unicode