std::left, std::right, std::internal
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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.setf(std::ios_base::left, std::ios_base::adjustfield) を呼んだかのように、ストリーム str の adjustfield を left に設定します。
2) str.setf(std::ios_base::right, std::ios_base::adjustfield) を呼んだかのように、ストリーム str の adjustfield を right に設定します。
3) str.setf(std::ios_base::internal, std::ios_base::adjustfield) を呼んだかのように、ストリーム str の adjustfield を internal に設定します。
これは入出力マニピュレータであり、 std::basic_ostream 型の任意の out に対する out << std::left のような式や std::basic_istream 型の任意の in に対する in >> std::left のような式で呼ぶことができます。
引数
| str | - | 入出力ストリームへの参照 |
戻り値
str (操作後のストリームへの参照)。
例
Run this code
#include <iostream>
#include <iomanip>
#include <locale>
int main()
{
std::cout.imbue(std::locale("en_US.utf8"));
std::cout << "Left fill:\n" << std::left << 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 << "Internal fill:\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 fill:\n" << std::right
<< std::setw(12) << -1.23 << '\n'
<< std::setw(12) << 42 << '\n'
<< std::setw(12) << std::put_money(123, true) << '\n';
}
出力:
Left fill:
-1.23*******
0x2a********
USD *1.23***
Internal fill:
-*******1.23
0x********2a
USD ****1.23
Right fill:
*******-1.23
********0x2a
***USD *1.23
関連項目
| 次の入出力フィールドの幅を変更します (関数) | |
| フィル文字を変更します (関数テンプレート) |