operator<<(std::basic_string_view)
From cppreference.com
< cpp | string | basic string view
| ヘッダ <string_view> で定義 |
||
| template< class CharT, class Traits > std::basic_ostream<CharT, Traits>& |
(C++17以降) | |
FormattedOutputFunctionとして振る舞います。sentryオブジェクトの構築とチェックの後、出力フォーマットのパディングを決定します。
次に、生成されたシーケンスseq(パディングされたvの内容)の各文字を、os->rdbuf()->sputn(seq, n)を呼び出すかのように、出力ストリームosに格納します。ここで、nはstd::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) |