Boost库之Format的用法

今天在看代码的时候发现用到了Boost format,之前没有接触过,就百度了一下,然后就做个笔记了,下次备用。

       Boost库是一个可移植的、提供源代码的c++库,是作为c++标准库的后备。Boost::format可以看成是Boost库中的一个字符串格式化库。

format主要是用来格式化std::string字符串的,同时也可以配合std::cout进行输出的格式空时。使用format需要包含头文件:

#include "boost/format.hpp"

boost::format的格式一般为:

boost::format(" format-string ")%arg1 %arg2 %arg3 ... %argN ;

format-string代表需要格式化的字符串,后面用重载过的%跟参数

具体的使用参见下面这个程序:

//https://blog.csdn.net/racaljk/article/details/19241369
#include <iostream>
#include <boost/format.hpp>

using namespace std;

int main(int argc, char **argv)
{
    cout<<boost::format("%1% \n%2% \n%4% \n%3%") %"first" %"second" %"third" %"fourth"<<endl;
    cout<<endl;
    boost::format fmt("%1% \n%2% \n%4% \n%3%");
    fmt %"first";
    fmt %"second";
    fmt %"third";
    fmt %"fourth";   

    string s=fmt.str();
    cout<<s<<endl;

    cout << boost::format("\n\n%s"
            "十进制 = [%d]\n"
            "格式化的十进制 = [%5d]\n"
            "格式化十进制,前补'0' = [%05d]\n"
            "十六进制 = [%x]\n"
            "八进制 = [%o]\n"
            "浮点 = [%f]\n"
            "格式化的浮点 = [%.4f]\n"
            "科学计数 = [%e]\n"
            ) % "example :\n" % 15 % 15 % 15 % 15 % 15 % 15.01 % 15.01 % 15.01 << endl;

    return 0;
}

详细的解释可以参见网友的博客:https://blog.csdn.net/racaljk/article/details/19241369

猜你喜欢

转载自blog.csdn.net/llfjcmx/article/details/82971039
今日推荐