C++ 参考手册

位置:首页 > C++ 参考手册 >字符串库 >std::basic_string_view > operator<<(std::basic_string_view)

定义于头文件 <string_view>
template <class CharT, class Traits>

std::basic_ostream<CharT, Traits>&
    operator<<(std::basic_ostream<CharT, Traits>& os,

               std::basic_string_view <CharT, Traits> v);
(C++17 起)

表现为有格式输出函数 (FormattedOutputFunction) 。构造并检查 sentry 对象后,以下列方式确定输出格式填充:

a) 若 v.size() 不小于 os.width() ,则原态使用 [v.begin(), v.end())
b) 否则,若 (os.flags() & ios_base::adjustfield) == ios_base::left ,则将 os.fill() 字符的 os.width()-v.size() 份副本置于字符序列前;
c) 否则,将 os.fill() 字符的 os.width()-v.size() 份副本置于字符序列后。

然后如同通过调用 os.rdbuf()->sputn(seq, n) ,存储每个来自结果序列( v 的内容加上填充)于输出流 os ,其中 n=std::max(os.width(), str.size())

最后,调用 os.width(0) 以取消 std::setw 的效果,若存在。

异常

若输出时抛异常,则可能抛出 std::ios_base::failure

参数

os - 字符输出流
v - 要插入的视图

返回值

os

参阅

执行字符串的流输入与输出
(函数模板)