• <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>

            Boost學(xué)習(xí)之格式化輸出--Format

            原文地址

            boost::format類提供了類似C語(yǔ)言里'printf'功能的格式化輸出能力,當(dāng)然功能更強(qiáng)大。

            所需頭文件:
            #include <boost/format.hpp>
            示例代碼:
              #include <iostream>
              #include <string>
              #include <boost/format.hpp>
              
              using namespace std;
              int _tmain(int argc, _TCHAR* argv[])
              {
              // 使用%序號(hào)%的方式給出指示符, 后面用%連接對(duì)應(yīng)的數(shù)據(jù)。
                  cout << boost::format("writing %1%,  x=%2% : %3%-th try") % "toto" % 40.23 % 50 << endl;
              // 輸出:writing toto,  x=40.23 : 50-th try
              
              // 可以延遲使用,順序不必一致
                  boost::format fmter("%2% %1%");
                  fmter % 36;
                  fmter % 77;
                  cout << fmter << endl;
              // 輸出:77 36
              
              // 可重用
                  fmter % 12;
                  fmter % 24;
                  cout << fmter << endl;
              // 輸出:24 12
              
              // 可直接轉(zhuǎn)成字符串
                  std::string s = fmter.str();
                  std::string s2 = str( boost::format("%2% %1% %2% %1%")%"World"%"Hello");
              
                  cout << s << endl << s2 << endl;
              // 輸出:
              // 24 12
              // Hello World Hello World
              
              // 可以使用printf指示符
                  cout << boost::format("%3.1f - %.2f%%") % 10.0 % 12.5  << endl;
              // 輸出:10.0 - 12.50%
              
              // printf指示符里使用N$指定使用第幾個(gè)參數(shù)
                  cout << boost::format("%2$3.1f - %1$.2f%%") % 10.0 % 12.5  << endl;
              // 輸出:12.5 - 10.00%
              
                  cin.get();
              return 0;
              }
            boost::format里的指示符語(yǔ)法大致有三大類:
            繼承并強(qiáng)化自printf的格式化字符串
                形式為:[ N$ ] [ flags ] [ width ] [ . precision ] type-char
                N$可選,指定使用第N個(gè)參數(shù)(注意,要么所有指示符都加此參數(shù),要么都不加)
                接下來(lái)的參數(shù)可以參數(shù)printf的指示符,只是format為其中的flags添加了'_'和'='標(biāo)志,用于指出內(nèi)部對(duì)齊和居中對(duì)齊。
            設(shè)置打印規(guī)則,它是printf參數(shù)的一個(gè)補(bǔ)充,只是為了更直觀點(diǎn)。
                形式為:%|spec|
                如:%|1$+5|表示顯示第一個(gè)參數(shù),顯示正負(fù)號(hào),寬度為5
            簡(jiǎn)單的位置標(biāo)記
                形式為:%N%
                簡(jiǎn)單地聲明顯示第N個(gè)參數(shù),優(yōu)點(diǎn)是比較直觀而且不用指定類型。

            posted on 2016-10-20 14:01 FongLuo 閱讀(423) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++

            <2016年10月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導(dǎo)航

            常用鏈接

            留言簿

            隨筆分類(11)

            隨筆檔案(79)

            文章檔案(1)

            收藏夾(38)

            學(xué)習(xí)網(wǎng)站

            一般網(wǎng)站

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            久久精品国产一区| 久久这里的只有是精品23| 久久免费观看视频| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 国产精品一久久香蕉国产线看观看| 婷婷久久综合九色综合九七| 日韩精品国产自在久久现线拍| a级成人毛片久久| 欧美日韩中文字幕久久伊人| 国产精品久久久久影视不卡| 日韩精品国产自在久久现线拍| 亚洲国产精品久久久久婷婷软件| 国产精品久久波多野结衣| 欧美精品一区二区精品久久| 久久er国产精品免费观看8| 久久综合九色综合欧美就去吻| 亚州日韩精品专区久久久| 久久精品卫校国产小美女| 天天躁日日躁狠狠久久| 国产精品久久久久久久久鸭| 91精品国产91久久久久久蜜臀 | 欧洲国产伦久久久久久久| 狠狠色丁香婷婷久久综合五月| 久久精品国产亚洲AV蜜臀色欲 | 99久久精品国产一区二区蜜芽| 国产精品美女久久久久AV福利| 性欧美大战久久久久久久| 精品久久久久久中文字幕大豆网| 国产情侣久久久久aⅴ免费| 久久久久亚洲av毛片大| 久久丫精品国产亚洲av| 国产精品成人99久久久久| 久久亚洲日韩看片无码| 久久精品视频网| 久久久久波多野结衣高潮| 天天爽天天爽天天片a久久网| 四虎亚洲国产成人久久精品| 久久超乳爆乳中文字幕| 亚洲第一永久AV网站久久精品男人的天堂AV| 少妇久久久久久久久久| 久久久精品波多野结衣|