アットウィキロゴ

C++


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
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。