boost format字符串格式化

这个类是个小的实用类,提供更安全的格式化字符串操作。

基本用法:

  
    boost::format fmt("aaa %1% bbb ");
    fmt % "haha";
当然 它也支持一些 printf 的格式操作,例如:

  
    boost::format fmt("aaa %s bbb ");
    fmt % "haha";


 %05d : 输出宽度为5的整数,不知用0填充。

%-8.3f: 输出左对齐,总宽度为8,小数位3位的浮点数。

% 10s: 输出10位的字符串,不足位用空格填充。

%05X : 输出宽度为5的大写16进制整数,不足位用0填补。


另外还支持 %|spec| 格式 ,它与%spec没有功能上的区别,只是看的更清楚了。

具体可见下面的例子:

#include 
#include 
using namespace std;

int main()
{
	char* COLOM_KEY = "Name";
	char* tableName ="player";
	char* key = "boost";
	boost::format fmt("select %1% from '%2%' where %1% = '%3%'");
	fmt % COLOM_KEY % tableName % key;

	std::string finalstr = fmt.str();
	const char* str = finalstr.c_str();

	cout<

输出为:

select Name from 'player' where Name = 'boost'
sum:1 + 2 = 3
sum:1 + 2 = 3
00062
2.236
    123456
0000F

本篇博客出自阿修罗道,转载请注明出处:http://blog.csdn.net/fansongy/article/details/8932125

你可能感兴趣的:(boost)