• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            hdqqq

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              35 隨筆 :: 0 文章 :: 104 評論 :: 0 Trackbacks
            //在程序運(yùn)行的時(shí)候經(jīng)常需要顯示調(diào)試信息,標(biāo)準(zhǔn)c中經(jīng)常使用
            //printf和spritf,還有MFC中的TRACE函數(shù),
            //都是要自己寫格式字符串,特別是
            //sprintf還要自己建緩沖區(qū)等,因此可以用標(biāo)準(zhǔn)c++的
            //stringstream 和模板來構(gòu)建無需格式字符串的函數(shù),
            //并且可以自行進(jìn)行擴(kuò)充的


            #include <sstream>

            template 
            <class a>
            std::
            string make_str(a pa)
            {
              std::
            string ret;
              stringstream ls;
              ls 
            << pa << endl;
              ret 
            = ls.str();
              return ret;
            }


            template 
            <class a, class b>
            std::
            string make_str(a pa, b pb)
            {
              std::
            string ret;
              stringstream ls;
              ls 
            << pa << " " << pb << endl;
              ret 
            = ls.str();
              return ret;
            }


            template 
            <class a, class b,class c>
            std::
            string make_str(a pa, b pb,c pc)
            {
              std::
            string ret;
              stringstream ls;
              ls 
            << pa << " " << pb << " " << pc << endl;
              ret 
            = ls.str();
              return ret;
            }

            //可以按需要擴(kuò)充
            //用起來可以這樣
            cout 
            << make_str("當(dāng)前記數(shù)"100).c_str();
            posted on 2007-07-31 10:51 hdqqq 閱讀(1580) 評論(5)  編輯 收藏 引用 所屬分類: c/c++

            評論

            # re: 顯示字符串的函數(shù) 2007-07-31 11:49 夢在天涯
            cout應(yīng)該可以格式字符串的啊!  回復(fù)  更多評論
              

            # re: 顯示字符串的函數(shù)[未登錄] 2007-07-31 13:11 hdqqq
            這些函數(shù)的目的只是為了生成字符串,至于是顯示出來還是寫入文件,是看需求的,功能就象cstring 的format 成員函數(shù).  回復(fù)  更多評論
              

            # re: 顯示字符串的函數(shù) 2007-08-01 23:47 nick
            不能和 Format 比.

            Format(_T("當(dāng)前計(jì)數(shù): %d, 總計(jì)數(shù) %d"), 100, 150);
            這樣的代碼是很方便的.   回復(fù)  更多評論
              

            # re: 顯示字符串的函數(shù) 2007-08-02 10:58 bbp
            我還是不喜歡依賴于某特定平臺,推薦不使用CString.Format,直接使用sprintf好了。
            另外,這個函數(shù)用來做類型轉(zhuǎn)換還好些。我們以前的項(xiàng)目就是用這種函數(shù)做字符串和其他類型的轉(zhuǎn)換,后來發(fā)現(xiàn)性能較差,就把實(shí)現(xiàn)改成atoi之類的函數(shù)了。  回復(fù)  更多評論
              

            # re: 顯示字符串的函數(shù)[未登錄] 2007-08-03 09:39 hdqqq
            類似于Format的用法可以象下面這樣,只是少了格式字符串
            make_str("當(dāng)前計(jì)數(shù):",100,"總計(jì)數(shù)", 150);
            至于效率的問題,確實(shí)是沒有sprintf這種直接操作的函數(shù)快,因?yàn)樯婕暗椒祷氐目截悘?fù)制的開銷和stringstream的內(nèi)部實(shí)現(xiàn)等制約.  回復(fù)  更多評論
              

            午夜精品久久久久| 亚洲午夜福利精品久久| 久久99精品久久久久久久不卡 | 中文字幕无码久久精品青草| 久久久久亚洲AV无码专区首JN| 久久丫精品国产亚洲av| 久久久久国产一级毛片高清板| 香蕉99久久国产综合精品宅男自 | 手机看片久久高清国产日韩| 色诱久久久久综合网ywww| 国产精品综合久久第一页| 无码国产69精品久久久久网站| 成人亚洲欧美久久久久| 国产亚洲精品自在久久| 色青青草原桃花久久综合| 久久99精品国产麻豆蜜芽| 国产精品久久久久久福利漫画 | 一本久久a久久精品亚洲| 久久99精品久久久久久水蜜桃| 人妻精品久久无码区| 久久无码高潮喷水| 亚洲国产精品嫩草影院久久 | 色综合久久久久网| 精品久久久久久无码中文字幕一区| 久久中文精品无码中文字幕| 国产成人精品久久综合| 久久国产精品-国产精品| 久久亚洲精精品中文字幕| 午夜不卡久久精品无码免费| 久久精品国产亚洲AV香蕉| 久久午夜福利无码1000合集| 女人高潮久久久叫人喷水| 久久中文字幕人妻熟av女| 亚洲精品国产综合久久一线| 人妻丰满?V无码久久不卡| 一本久道久久综合狠狠躁AV| 中文字幕精品久久| 少妇精品久久久一区二区三区| 色综合久久综合中文综合网| 麻豆AV一区二区三区久久| 国产成年无码久久久久毛片|