Boost庫之Format的用法
阿新 • • 發佈:2018-12-14
今天在看程式碼的時候發現用到了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; }