BOOST库 之 format输出流

一、包含
#include <boost/format.hpp>
using namespace boost;


二、格式化语法
每个格式化选项以%开始,后面是格式规则,规定了输出的对齐、宽度、精度、字符类型.
%05d   : 输出宽度为5的整数,不足位用0填充;
%-8.3f : 输出左对齐,总宽度为8,小数位3位的浮点数;
% 10s  : 输出10位的字符串,不足位用空格填充;
%05X   :输出宽度为5的大写16进制整数,不足位用0填充.


例1:
boost::format form( "%05d\n %-8.3f\n % 10s\n %05X\n" );
std::cout << form %62 %2.236 %"123456789" %48;

输出结果
00062
2.236
123456789
00030

例2:
std::cout << boost::format( "%s: %d + %d = %d\n" ) %"sum" %1 %2 %(1+2);

三、新格式
%|spec| : 与printf格式选项功能相同,但两边增加了竖线分隔,可以更好的区分格式化选项与普通字符
%N%     : 标记第N个参数,相当于占位符,不带任何其他的格式化选项


boost::format form( "%|05d|\n %|-8.3f|\n %| 10s|\n %|05X|\n" );


例3:
boost::format fmt( "%1% + %2%" );
fmt %2 %5;
std::string str = fmt.str();


四、扩展

使用CString包含#include <atlstr.h>


int year = 2017, month = 7, day = 30, hour = 12, minute = 30, second = 00;
CString str;

str.Format( "%d-%d-%d, %d:%d:%d", year, month, day, hour, minute, second );


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值