命名空间
变体
操作

operator<<(std::basic_string_view)

来自 cppreference.com
 
 
 
 
在头文件 <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。在构建并检查哨兵对象后,确定输出格式填充.

然后将结果序列 seqv 的内容,带有填充)中的每个字符存储到输出流 os 中,就好像通过调用 os.rdbuf()->sputn(seq, n) 一样,其中 nstd::max(os.width(), str.size()).

最后,调用 os.width(0) 以取消 std::setw 的影响(如果有)。

内容

[edit] 异常

如果在输出过程中抛出异常,可能会抛出 std::ios_base::failure

[edit] 参数

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

[edit] 返回值

os

[edit] 示例

#include <iomanip>
#include <iostream>
#include <string_view>
 
int main()
{
    constexpr std::string_view s{"abc"};
    constexpr int width{5};
 
    // fill/left/right properties are kept until changed
    std::cout << std::setfill('-');
    std::cout << std::left;
 
    std::cout << '[' << std::setw(width) << s << "]\n";
    std::cout << '[' << std::setw(width) << s << "]\n";
 
    std::cout << std::right;
    std::cout << '[' << std::setw(width) << s << "]\n";
 
    // width is reset after each call
    std::cout << '[' << s << "]\n";
}

输出

[abc--]
[abc--]
[--abc]
[abc]

[edit] 参见

对字符串执行流输入和输出
(函数模板) [edit]