名前空間
変種
操作

operator<<(std::basic_string_view)

From 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として振る舞います。sentryオブジェクトの構築とチェックの後、出力フォーマットのパディングを決定します

次に、生成されたシーケンスseq(パディングされたvの内容)の各文字を、os->rdbuf()->sputn(seq, n)を呼び出すかのように、出力ストリームosに格納します。ここで、nstd::max(os.width(), str.size())です。

最後に、std::setwの効果(もしあれば)をキャンセルするために、os.width(0)を呼び出します。

目次

[編集] 例外

出力中に例外がスローされた場合、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 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]

[編集] 関連項目

文字列に対するストリーム入出力を実行する
(function template) [編集]
English 日本語 中文(简体) 中文(繁體)