std::left, std::right, std::internal
提供: 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.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
[編集]関連項目
次の入出力フィールドの幅を変更します (関数) | |
フィル文字を変更します (関数テンプレート) |