std::vprint_nonunicode, std::vprint_nonunicode_buffered
来自 cppreference.com
定义于头文件 <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).
内容 |
[编辑] 参数
stream | - | 要写入的输出文件流 | ||||||||||||||||||||||||||||||||||||||||||||||
fmt | - |
每个替换字段的格式如下:
1) 没有格式规范的替换字段
2) 有格式规范的替换字段
| ||||||||||||||||||||||||||||||||||||||||||||||
args | - | 要格式化的参数 |
[编辑] 异常
- 分配失败时为 std::bad_alloc。
- 如果写入流失败,则为 std::system_error。
- 传播由使用的 格式化程序 引发的任何异常,例如 std::format_error。
[编辑] 备注
特性测试 宏 | 值 | Std | 特性 |
---|---|---|---|
__cpp_lib_print |
202207L | (C++23) | 格式化输出 |
202403L | (C++26) (DR23) |
使用流锁定进行格式化输出 | |
202406L | (C++26) (DR23) |
为更多可格式化类型启用非锁定格式化程序优化 | |
__cpp_lib_format |
202207L | (C++23) | 公开 std::basic_format_string |
[编辑] 示例
本节内容不完整 原因:没有示例 |
[编辑] 另请参阅
使用 类型擦除 的参数表示形式打印到支持 Unicode 的 stdout 或文件流 (函数) | |
使用 类型擦除 的参数表示形式输出字符数据 (函数) | |
(C++23) |
将格式化的参数表示打印到 标准输出 或文件流 (函数模板) |
(C++20) |
将格式化的参数表示存储到一个新的字符串中 (函数模板) |