• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              35 隨筆 :: 0 文章 :: 104 評論 :: 0 Trackbacks
            //在程序運行的時候經常需要顯示調試信息,標準c中經常使用
            //printf和spritf,還有MFC中的TRACE函數,
            //都是要自己寫格式字符串,特別是
            //sprintf還要自己建緩沖區等,因此可以用標準c++的
            //stringstream 和模板來構建無需格式字符串的函數,
            //并且可以自行進行擴充的


            #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;
            }

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

            評論

            # re: 顯示字符串的函數 2007-07-31 11:49 夢在天涯
            cout應該可以格式字符串的?。?nbsp; 回復  更多評論
              

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

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

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

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

            # re: 顯示字符串的函數[未登錄] 2007-08-03 09:39 hdqqq
            類似于Format的用法可以象下面這樣,只是少了格式字符串
            make_str("當前計數:",100,"總計數", 150);
            至于效率的問題,確實是沒有sprintf這種直接操作的函數快,因為涉及到返回的拷貝復制的開銷和stringstream的內部實現等制約.  回復  更多評論
              

            国产AⅤ精品一区二区三区久久 | 久久久久久久久久久久中文字幕| 亚洲综合久久久| 狠狠精品久久久无码中文字幕| 天天躁日日躁狠狠久久| 国产精品久久久久一区二区三区| 亚洲国产精品无码久久久不卡 | 日韩精品久久久久久免费| 久久A级毛片免费观看| 久久久久国产精品三级网| 久久A级毛片免费观看| 亚洲乱码日产精品a级毛片久久| 999久久久无码国产精品| 2021最新久久久视精品爱| 精品久久久久久无码中文野结衣| 亚洲午夜久久久久妓女影院 | 人妻无码αv中文字幕久久| 久久久久久亚洲精品无码| 国产高潮国产高潮久久久| 成人综合久久精品色婷婷| 久久成人18免费网站| 青青草国产精品久久久久| 国产精品女同久久久久电影院| 成人综合久久精品色婷婷| 日韩欧美亚洲综合久久影院Ds| 色综合久久中文综合网| 久久99中文字幕久久| 亚洲精品乱码久久久久久蜜桃不卡| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 伊人热人久久中文字幕| aaa级精品久久久国产片| 久久亚洲AV成人无码国产| av色综合久久天堂av色综合在| 狠狠色丁香久久婷婷综合蜜芽五月| 久久精品国产黑森林| 久久亚洲精品无码播放| 武侠古典久久婷婷狼人伊人| 亚洲精品乱码久久久久久不卡| 伊人久久精品影院| 亚洲精品乱码久久久久久蜜桃图片| 久久久久青草线蕉综合超碰|