std::vprint_nonunicode(std::ostream)
< cpp | io | basic ostream
|
在标头
<ostream> 定义 |
||
|
void vprint_nonunicode( std::ostream& os, std::string_view fmt, std::format_args args );
|
(C++23 起) | |
表现为有格式输出函数 (FormattedOutputFunction) (除了一些错误报告细节有所不同):
- 首先,构造并检查 sentry 对象。
- 然后,如同以 std::string out = std::vformat(os.getloc(), fmt, args); 初始化一个自动变量。
- 最后,将字符序列
[out.begin(), out.end())插入到 os。
参数
| os | - | 要插入数据的输出流 | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
用于表示格式字符串的对象。格式字符串由以下组成
每个替换域拥有如下格式:
1) 没有格式说明的替换域
2) 有格式说明的替换域
|
||||||||||||||||||||||||||||||||||||||||||||||
| args | - | 要格式化的实参 | ||||||||||||||||||||||||||||||||||||||||||||||
返回值
(无)
异常
- 内存分配失败时抛出 std::bad_alloc。
- 传播由其所使用的格式化器所抛出的任何异常,比如 std::format_error,不管 os.exceptions() 的值如何,也不会在 os 的错误状态中打开 ios_base::badbit。
- 可能会抛出由 os.setstate(ios_base::badbit) 所造成的ios_base::failure,它是当向 os 的插入失败时调用的。
注解
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_print |
202207L | (C++23) | 格式化输出 |
__cpp_lib_format |
202207L | (C++23) | 暴露 std::basic_format_string |
示例
| 本节未完成 原因:暂无示例 |
参阅
|
(C++23)
|
使用类型擦除进行各实参的格式化表示的知 Unicode 输出 (函数) |
|
(C++23)
|
输出各实参的格式化表示 (函数模板) |
| 插入字符数据,或向右值流插入 (函数) |
|
| 使用类型擦除的参数表示,打印到 stdout 或文件流 (函数) |
|
|
(C++20)
|
在新字符串中存储参数的格式化表示 (函数模板) |