2007年6月22日金曜日

C++マニピュレータ

このブログ記事をはてなブックマークに追加

#include <iostream> // 引数なしマニピュレータ #include <iomanip> // 引数付きマニピュレータ

endl
改行文字"\n"を負荷して出力をフラッシュ。

ends
NULL文字"\0"を負荷して出力をフラッシュ。

flush
出力をフラッシュ。

boolalpha | noboolalpha
boolの値を "true", "false" で出力する/しない(デフォルトでは 1, 0)。

showbase | noshowbase
16進数のとき"0x"、8進数のとき"0"を先頭に付加して出力する/しない。

showpos | noshowpos
正の数のとき + 符号を出力する/しない。

showpoint | noshowpoint
浮動小数点表示で末尾の 0 を出力する/しない。

skipws | noskipws
入力時、空白を読み飛ばす/読み飛ばさない。

uppercase | nouppercase
16進数表示(a~f)や概数表示(e)のときアルファベットを大文字で出力する/しない。

left
フィールド幅が設定されているとき、値を左寄せ。"123 "

right
フィールド幅が設定されているとき、値を右寄せ。" 123"

internal
フィールド幅が設定されているとき、符号を左寄せ、値を右寄せ。"+ 123"

dec
10進数で出力(デフォルト)。

hex
16進数で出力。

oct
8進数で出力。

fixed
概数表示をしない(デフォルト)。"123.456"

scientific
概数表示をする。"1.23456e+003"

setbase(int base)
基数を設定。16進数ならば、setbase(16)

setfill(char f)
詰め文字を設定。setfill('0')の場合、"000123"

setprecision(int p)
浮動小数点表示のときの表示桁数を設定(デフォルトは6)。

setw(int width)
フィールド幅を設定(デフォルトは 0)。

setioflags(ios_base::fmtflags f)
指定の書式設定フラグを設定。

使い方の例:

#include <iostream> #include <iomanip> using namespace std; int main() { cout << "PI = "; cout << fixed << setw(7) << setprecision(5) << 3.14159265 << endl; cout << scientific << uppercase << 123.456789 << endl; return 0; } PI = 3.14159 1.23457E+002

0 コメント: