« 分岐限定法 | メイン | RSpecのコントローラのテストで利用できる機能 »

sprinfのC++版「boost::format」

C++Builder 2009からBoostが標準添付されて、とても使いやすくなりました。

そのBoostのライブラリの一つ「boost::format」は、sprinfのC++版とも言えるライブラリです。
(The Boost Format library)

printfの書式指定子と同じ書式文字列を使用することができます。
また拡張フォーマットにより%1%で1番目の引数、%2%で2番目の引数を出力できます。

//formatの生成
format fmter("%1% %2% \n"); //引数は書式文字列
cout << fmter % "abc" % "efg"; //=> abc efg

//何度でも取り出せる
string s1 = fmter.str(); //メンバ関数str()
cout << s1; //=> abc efg

//何度でも取り出せる
string s2 = str(fmter); //関数boost::str()
cout << s2; //=> abc efg

//並べ替え
cout << format("%1% %2% %3% %2% %1% \n") % "11" % "22" % "33";
//=> 11 22 33 22 11

//printf互換
cout << format("%05d %x %f %%") % 200 % 255 % 3.33;
//=> 00200 ff 3.330000 %

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/976

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2009年05月17日 12:08に投稿されたエントリーのページです。

ひとつ前の投稿は「分岐限定法」です。

次の投稿は「RSpecのコントローラのテストで利用できる機能」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35