Boostを語れゴラァ part5at TECHBoostを語れゴラァ part5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 07/11/21 19:52:29 >>48 要するにscanf()のboost版が欲しいわけだ 一言で言えば、無いよ 51:48 07/11/21 20:07:58 了解しますた xpressive->lexical_cast戦法でいきます 52:デフォルトの名無しさん 07/11/21 20:10:20 なんでlexical_castなんぞ使うんだ? 53:デフォルトの名無しさん 07/11/21 21:08:07 intとかに変換したいからでしょ? 悪かないと思うが。 54:デフォルトの名無しさん 07/11/21 23:15:23 xpressiveを使うならそこはSemantic Actionだろ。 ちょうどいいサンプルもあることだし。 ttp://boost-sandbox.sourceforge.net/libs/xpressive/doc/html/boost_xpressive/user_s_guide/semantic_actions_and_user_defined_assertions.html 55:48 07/11/22 16:09:45 >>54 こんなのあったのかー すごい・・・ でもasのなかでも呼ばれてるlexical_castが16進数とかを良きに計らってくれなくて俺涙目w 56:デフォルトの名無しさん 07/11/22 19:04:45 >>55 spirit と bind に触発されて昔作ったもの。 sprintf や sscanf みたいなことを spirit っぽく静的に記述する。 string strA, strB; sprint( strA, "1 " % !_x[6] % "/" % _s, 10, "aaaa" ); sprint( strB, "2 " % (!_0x[6]) % "/" %_s, 10, "aaaa" ); cout << strA << endl; // 1 0xa/aaaa cout << strB << endl; // 2 0x000a/aaaa int xA, xB; string yA, yB; sscan( strA, "1 " % _ws % _x % "/" % _s, xA, yA ); sscan( strB, "2 " % _x % "/" % _s[3], xB, yB ); print( cout, "xA = " % _d % "\nyA = " % _s % _endl, xA, yA ); print( cout, "xB = " % _d % "\nyB = " % _s % _endl, xB, yB ); // xA = 10 // yA = aaaa // xB = 10 // yB = aaa http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5317.zip 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch