• <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學習之格式化輸出--Format

            原文地址

            boost::format類提供了類似C語言里'printf'功能的格式化輸出能力,當然功能更強大。

            所需頭文件:
            #include <boost/format.hpp>
            示例代碼:
              #include <iostream>
              #include <string>
              #include <boost/format.hpp>
              
              using namespace std;
              int _tmain(int argc, _TCHAR* argv[])
              {
              // 使用%序號%的方式給出指示符, 后面用%連接對應的數據。
                  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
              
              // 可直接轉成字符串
                  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$指定使用第幾個參數
                  cout << boost::format("%2$3.1f - %1$.2f%%") % 10.0 % 12.5  << endl;
              // 輸出:12.5 - 10.00%
              
                  cin.get();
              return 0;
              }
            boost::format里的指示符語法大致有三大類:
            繼承并強化自printf的格式化字符串
                形式為:[ N$ ] [ flags ] [ width ] [ . precision ] type-char
                N$可選,指定使用第N個參數(注意,要么所有指示符都加此參數,要么都不加)
                接下來的參數可以參數printf的指示符,只是format為其中的flags添加了'_'和'='標志,用于指出內部對齊和居中對齊。
            設置打印規則,它是printf參數的一個補充,只是為了更直觀點。
                形式為:%|spec|
                如:%|1$+5|表示顯示第一個參數,顯示正負號,寬度為5
            簡單的位置標記
                形式為:%N%
                簡單地聲明顯示第N個參數,優點是比較直觀而且不用指定類型。

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

            <2008年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導航

            常用鏈接

            留言簿

            隨筆分類(11)

            隨筆檔案(79)

            文章檔案(1)

            收藏夾(38)

            學習網站

            一般網站

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            色欲综合久久躁天天躁蜜桃| 久久国产精品免费一区二区三区| 无码国内精品久久人妻蜜桃| 久久青青草原国产精品免费| 久久久久噜噜噜亚洲熟女综合| av色综合久久天堂av色综合在| 精品久久久久久国产潘金莲 | 精品久久久无码21p发布| 久久人爽人人爽人人片AV| 国产亚洲精午夜久久久久久| 亚洲精品国产字幕久久不卡| 国产精品永久久久久久久久久| 久久www免费人成看片| 人妻中文久久久久| 国产一区二区精品久久凹凸| 嫩草伊人久久精品少妇AV| 色婷婷久久综合中文久久一本| 久久精品国产亚洲AV嫖农村妇女| 天天综合久久一二三区| 91久久成人免费| 久久99热只有频精品8| 欧美精品久久久久久久自慰| 久久天天躁狠狠躁夜夜avapp| 久久精品一区二区影院| 91久久九九无码成人网站| 久久精品国产亚洲av高清漫画| 久久人人爽人人爽人人爽| 综合久久给合久久狠狠狠97色| 久久精品国产色蜜蜜麻豆 | 无码8090精品久久一区| 久久久久99精品成人片牛牛影视| 国产午夜精品久久久久九九电影| 88久久精品无码一区二区毛片| 亚洲天堂久久精品| 91久久精品国产成人久久| 成人精品一区二区久久| 国产—久久香蕉国产线看观看| 青青草国产精品久久| 久久久艹| 亚洲AV无码一区东京热久久| 久久66热人妻偷产精品9|