IOStreamマニピュレータ
代表的なマニピュレータ
| フラグ |
マスク |
内容 |
| skipws |
|
先頭部分にある空白を読み飛ばす。 |
| noskipws |
|
先頭部分にある空白を読み飛ばさない。 |
| unitbuf |
|
出力処理を行うたびに、出力バッファをフラッシュする。 |
| nounitbuf |
|
出力処理を行うたびに、出力バッファをフラッシュしない。 |
| dec |
basefield |
10進数で入出力を行う。 |
| hex |
basefield |
16進数で入出力を行う。 |
| oct |
basefield |
8進数で入出力を行う。 |
| showbase |
|
数値の基数を明確に表して出力する。 |
| fixed |
|
浮動小数点数の表記に、10進表記法を使う。 |
| scientific |
|
浮動小数点数の表記に、科学的表記法を使う。 |
| showpoint |
|
常に小数点を表示する。 |
| showpos |
|
正の値には、正の符号を付ける。 |
| uppercase |
|
16進数や科学的表記法において、アルファベットを大文字で出力する。 |
| left |
adjustfield |
値を左揃えで出力する。 |
| right |
adjustfield |
値を右揃えで出力する。 |
| internal |
adjustfield |
符号を左揃え、値を右揃えで出力する。 |
| boolalpha |
|
bool型の出力時に、"true"や"false"という文字列形式を使う。 |
その他のマニピュレータ
| setw |
出力時の幅を指定する |
| setfill |
出力幅に満たない部分を埋める文字を指定する |
| setprecision |
精度(有効桁数)の指定 |
使用例
cout 左揃え表示の指定
cout << setw(4) << 12 << endl; // 0012 と表示されます。
cout << setiosflags(ios::left); // 左揃え表示を指定します。
cout << setw(4) << 12 << endl; // 1200と表示されます。
cout << setiosflags(ios::right); // 右揃え表示に戻します。
cout 精度(有効桁数)の指定
cout << setprecision(4); // 精度を 4桁に指定します。
cout << 10./3. << endl; // 3.333 と表示されます。
cout << setprecision(20); // 精度を 20桁に指定します。
cout << 10./3. << endl; // 3.33333333333333(関数の精度以内。)
cout << setprecision(6); // 標準の 6 桁に戻します。
cout 精度を小数部に適用する
cout << setprecision(3); // 精度を 3桁に指定します。
cout << setiosflags(ios::scientific); // 小数部の精度指定とする。
cout << 1234.5678 << endl; // 1234.567 と表示されます。
cout << setprecision(6); // 標準の 6 桁に戻します。
cout 精度を仮数部に適用する
cout << setprecision(3); // 精度を 3桁に指定します。
cout << setiosflags(ios::fixed); // 仮数部の精度指定とする。
cout << 1234.5678 << endl; // 1.23e+4 と表示されます。
cout << setprecision(6); // 標準の 6 桁に戻します。
最終更新:2008年03月30日 18:01