ためになるホームページ お問い合わせ




TOP > C++ > マニピュレータ
マニピュレータ
C++の入出力で書式を設定するには、マニピュレータを使用する。iosクラスで定義してあるフラグを使って、書式を設定する事もできるが、面倒くさい。(タイピング量が多い!?)
入出力マニピュレータは特別な関数で、入出力文の内部で使用できる特別な関数。
引数を受け取る関数を呼び出す際は、iomanipをインクルードする必要がある
引数の不要な関数は、()をつけずに記述する。(ポインタを受け取る為)
マニピュレータ 使用目的 概要 入出力
boolalpha boolalphaフラグをON bool値の入出力にtrue、falseが使用できる 入出力
dec decフラグをON 10進数にする 入出力
endl 改行文字を出力し、ストリームをフラッシュする   出力
ends ヌルを出力   出力
fixed fixedフラグをON 浮動小数点値が通常表記 出力
flush ストリームをクリア   出力
hex hexフラグをON 16進数出力 入出力
interlnal internalフラグをON フィールドがいっぱいになるまで数値の追加が行われる 出力
left leftフラグをON 出力を左寄せにする 出力
noboolalpha boolalphaフラグOFF   入出力
noshowbase showbaseフラグOFF   出力
noshowpoint showpointフラグOFF   出力
noshowpos showposフラグOFF   出力
noskipws skipwsフラグOFF   入力
nounitbuf unitbufフラグOFF   出力
nouppercase uppercaseフラグOFF   出力
oct octフラグON 8進数表示 出力
noresetiosflags(fmtflags f) fに指定しているフラグをOFF   入出力
right rightフラグON 右寄せにする 出力
scientific scientificフラグON 浮動小数点値を科学技術表記する 出力
setbase(int base) 基数をbaseにする   入出力
setfill(int ch) 充てん文字をchに設定   出力
setiosflags(int p) fで指定したフラグをON   入出力
setprecision(int p) 精度の桁数を指定   出力
setw(int w) フィールド幅をwに指定   出力
showbase showbaseフラグON 数値の基数をつける 出力
showpoint showpointフラグON 全ての浮動小数点出力に小数点と後続0が付加 出力
showpos shoposフラグON 正値の前に+をつける(dec) 出力
skipws skipwsフラグON ストリーム入力時の先頭WSを破棄 入力
unitbuf unitbufフラグON 挿入操作の度にバッファをクリア 出力
uppercase uppercaseフラグON 基数の文字xを大文字にする 出力
ws 先行WSをスキップ   入力

マニピュレータの例
#include <iostream>
#include <iomanip>
using namespace std;

int main(int argc, char** argv)
{
  cout << oct << 8 << endl;       //8進数で出力
  cout << 8 << endl;              //1回変更すると、それを引き継ぐ
  cout << dec << 8 << endl;       //10進数にする
  cout << showpos << 8 << endl;   //+をつける
  cout << hex << 13 << endl;      //16進数にする
  cout << showbase << 13 << endl; //基数をつける
  return(0);
}







Copyright 2007 ためになるホームページ All Rights Reserved.