std::left, std::right, std::internal
From cppreference.com
| ヘッダ <ios>で定義 |
||
| std::ios_base& left( std::ios_base& str ); |
(1) | |
| std::ios_base& right( std::ios_base& str ); |
(2) | |
| std::ios_base& internal( std::ios_base& str ); |
(3) | |
出力ストリームにおけるフィル文字の位置を変更します。left と right は、出力されるすべての型に適用されます。internal は、整数、浮動小数点数、および通貨出力に適用されます。入力には影響しません。
1) ストリーム str の
adjustfield を left に設定します。これは、str.setf(std::ios_base::left, std::ios_base::adjustfield) を呼び出すのと同じです。2) ストリーム str の
adjustfield を right に設定します。これは、str.setf(std::ios_base::right, std::ios_base::adjustfield) を呼び出すのと同じです。3) ストリーム str の
adjustfield を internal に設定します。これは、str.setf(std::ios_base::internal, std::ios_base::adjustfield) を呼び出すのと同じです。標準ストリームの初期デフォルトは right と同等です。
これは I/O マニピュレータです。out が std::basic_ostream 型の場合、out << std::left のような式で呼び出されることがあります。また、in が std::basic_istream 型の場合、in >> std::left のような式で呼び出されることがあります。
目次 |
[編集] パラメータ
| str | - | I/Oストリームへの参照 |
[編集] 戻り値
str (操作後のストリームへの参照)。
[編集] 例
このコードを実行
#include <iomanip> #include <iostream> #include <locale> int main() { std::cout.imbue(std::locale("en_US.utf8")); std::cout << "Default positioning:\n" << std::setfill('*') << std::setw(12) << -1.23 << '\n' << std::setw(12) << std::hex << std::showbase << 42 << '\n' << std::setw(12) << std::put_money(123, true) << "\n\n"; std::cout << "Left positioning:\n" << std::left << std::setw(12) << -1.23 << '\n' << std::setw(12) << 42 << '\n' << std::setw(12) << std::put_money(123, true) << "\n\n"; std::cout << "Internal positioning:\n" << std::internal << std::setw(12) << -1.23 << '\n' << std::setw(12) << 42 << '\n' << std::setw(12) << std::put_money(123, true) << "\n\n"; std::cout << "Right positioning:\n" << std::right << std::setw(12) << -1.23 << '\n' << std::setw(12) << 42 << '\n' << std::setw(12) << std::put_money(123, true) << '\n'; }
出力
Default positioning: *******-1.23 ********0x2a ***USD *1.23 Left positioning: -1.23******* 0x2a******** USD *1.23*** Internal positioning: -*******1.23 0x********2a USD ****1.23 Right positioning: *******-1.23 ********0x2a ***USD *1.23
[編集] 関連項目
| 次の入出力フィールドの幅を変更する (関数) | |
| 埋め文字を変更する (関数テンプレート) | |
| 数値の基数を示す接頭辞を使用するかどうかを制御する (関数) |