std:: vprint_nonunicode, std:: vprint_nonunicode_buffered
From cppreference.net
|
ヘッダーで定義
<print>
|
||
|
void
vprint_nonunicode
(
std::
FILE
*
stream,
std:: string_view fmt, std:: format_args args ) ; |
(1) | (C++23以降) |
|
void
vprint_nonunicode_buffered
( std:: FILE * stream, std:: string_view fmt, std:: format_args args ) ; |
(2) | (C++23以降) |
|
void
vprint_nonunicode_buffered
( std:: string_view fmt, std:: format_args args ) ; |
(3) | (C++23以降) |
書式文字列 fmt に従って args をフォーマットし、結果を出力ストリームに書き込みます。
1)
ロックを保持している間に、
stream
のロックを保持した状態で、
args
によって提供されるフォーマット引数の文字列表現を、
fmt
で指定された仕様に従ってフォーマットし、
stream
に書き込みます。
stream
が有効な出力Cストリームへのポインタでない場合、動作は未定義です。
2)
次と同等:
std::
string
out
=
std::
vformat
(
fmt, args
)
;
std :: vprint_nonunicode ( stream, "{}" , std:: make_format_args ( out ) ) ; .
std :: vprint_nonunicode ( stream, "{}" , std:: make_format_args ( out ) ) ; .
3)
次と等価:
std
::
vprint_nonunicode_buffered
(
stdout
, fmt, args
)
。
|
出力ストリームに文字を書き込んだ後、 観測可能なチェックポイント を確立します。 |
(C++26以降) |
目次 |
パラメータ
| stream | - | 出力先のファイルストリーム | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
各置換フィールドは以下の形式を持つ:
1)
フォーマット指定なしの置換フィールド
2)
フォーマット指定ありの置換フィールド
|
||||||||||||||||||||||||||||||||||||||||||||||
| args | - | フォーマットする引数 | ||||||||||||||||||||||||||||||||||||||||||||||
例外
- std::bad_alloc メモリ確保失敗時。
- std::system_error 、ストリームへの書き込み失敗時。
- 使用された formatters によって送出された例外を伝播(例: std::format_error )。
注記
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_print
|
202207L
|
(C++23) | 書式付き出力 |
202403L
|
(C++26)
(DR23) |
非バッファリング書式付き出力 | |
202406L
|
(C++26)
(DR23) |
より多くの書式化可能な型に対する非バッファリング書式付き出力の有効化 | |
__cpp_lib_format
|
202207L
|
(C++23) | std::basic_format_string の公開 |
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| P3107R5 | C++23 | printing operations were always buffered | provides unbuffered printing operations |
| P3235R3 | C++23 |
the names of the functions added
by P3107R5 were misleading |
changed the function names |
関連項目
|
Unicode対応の
stdout
またはファイルストリームに
type-erased
引数表現を使用して出力する
(関数) |
|
|
(C++23)
|
type-erased
引数表現を使用して文字データを出力する
(関数) |
|
(C++23)
|
stdout
またはファイルストリームに引数の
formatted
表現を使用して出力する
(関数テンプレート) |
|
(C++20)
|
引数のフォーマットされた表現を新しい文字列に格納する
(関数テンプレート) |