Namespaces
Variants

operator<< (std::basic_string_view)

From cppreference.net
定義済みヘッダー <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 として振る舞う。セントリオブジェクトを構築・チェックした後、 出力フォーマットのパディングを決定する

その後、結果のシーケンス seq v の内容にパディングを加えたもの)から各文字を出力ストリーム os に、 os. rdbuf ( ) - > sputn ( seq, n ) を呼び出したかのように格納します。ここで n std:: max ( os. width ( ) , str. size ( ) ) です。

最後に、 os. width ( 0 ) を呼び出して、 std::setw の効果があればそれを取り消します。

目次

例外

出力中に例外が発生した場合、 std::ios_base::failure をスローする可能性があります。

パラメータ

os - 文字出力ストリーム
v - 挿入するビュー

戻り値

os

#include <iomanip>
#include <iostream>
#include <string_view>
int main()
{
    constexpr std::string_view s{"abc"};
    constexpr int width{5};
    // fill/left/rightプロパティは変更されるまで保持される
    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は各呼び出し後にリセットされる
    std::cout << '[' << s << "]\n";
}

出力:

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

関連項目

文字列に対するストリーム入出力を実行する
(関数テンプレート)