operator<<(std::basic_string_view)
ja.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 として動作します。 sentry オブジェクトを構築および確認した後、出力フォーマットのパディングを決定します。
その後、結果のシーケンス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]
関連項目
|
文字列に対するストリーム入出力を実行する
(関数テンプレート) |