format
#include using namespace boost;
用法:
#include using namespace boost;
int main()
//結果
sum:1+2=3
(2 + 5) * 5 = 35
因此:format(...) % a % b % c 可以理解成 format(...) << a << b << c
類似於 printf("(%d + %d) * %d = %d\n", 2, 5, 5, (2 + 5)*5);
類摘要format並不是乙個真正的類,而是乙個typedef,真正的實現是basic_format,它的宣告如下:
以下為格式化語法:
除此之外,還增加了新的格式:
%|spec|:兩邊增加豎線,可以更好區分格式化選項與普通字元
//上圖中可以寫成這樣
format fmt("%|05d|\n%|-8.3f|\n%| 10s|\n%|05x|\n");
%n%:標記第n個引數,相當於佔位符,不帶任何其他都格式化選項。
高階用法:
//把格式化字串第argn位置的輸入引數固定為val,即使呼叫clear()也保持不變,除非呼叫
//clear_bind() 或 clear_binds();
basic_format& bind_arg(int argn,const t& val)
//取消格式化字串第argn位置的引數繫結
basic_format& clear_bind(int argn)
//取消格式化字串所有位置的引數繫結,並呼叫clear()
basic_format& clear_binds();
//設定格式化字串第itemn位置都格式化選項,manipulator是乙個boost::io::group()返回的物件
basic_format& modify_item(int itemn,t manipulator)
//它是乙個模板函式,最多支援10個引數,可以設定輸入/輸出流操縱器以指定格式或輸入引數值
boost::io::group(t1 a1,...,var const& val)
用法:
#include #include #include using namespace boost;
using boost::io::group;
int main()
文字處理 字串
字串常用操作 漢字到拼音的轉換 x 125 so o x so 175 sh x x sh 7d se e x se 1.250000e 02 d,c 65,65 65,a print format 1 3 保留3位小數 0.333 format 3.5 格式化為百分數 350.000000 for...
Boost庫 字串操作
結合boost官網 由於這一章內容過多,我將採用四個小章,精簡原文四個小部分內容。第四小章還包含了題目及講解。區域設定 setlocale lc all,locale global std locale german 設定全域性區域德語環境 一 將字串所有字元轉成大寫 boost algorithm...
boost庫文字處理回顧20200908
include stdafx.h include include include boost lexical cast.hpp include boost format.hpp include boost algorithm string.hpp using namespace boost usin...