// boost_test_appp2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include "boost/lexical_cast.hpp"
#include "boost/format.hpp"
#include "boost/algorithm/string.hpp"
using namespace boost;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//lexical_cast
//进行字面量的转换类似atoi
//很容易的在字符串与数字之间进行转换
int a = lexical_cast<int>("10");
//整数到字符串
string b = lexical_cast<string>(123);
//转换时只能有数字和小数点,不能有特殊符号
//format
auto c = format("%s:%d+%d=%d\n")%"sum" %1 %2 %(1+2);
cout << c << endl;
//成员函数str返回已经格式好的字符串
format dd(("接收到数据=%d"));
dd %1;
string e = dd.str();
//成员函数size获取长度
//成员函数parse清除内部对象,执行之后不能调用其他函数,否则报异常
//string_algo
//字符串标准类
//判断后缀名
string str("a.pcm");
if (ends_with(str,"pcm"))
{
cout<<"ok"<<endl;
}
//替换很常用
replace_first(str,"a","bbb");
cout<<str<<endl;
//这个删除挺方便
erase_first(str,".pcm");
cout<<str<<endl;
//string_algo主要五大类算法(后缀如果加copy 那么原来字符串都不变)
//大小写转换、
to_upper(str);
//大小写无关判断
if(iequals(string("bbb"),str))
{
cout<<"ok"<<endl;
}
//判断与分类、修改、查找替换、分割与合并
//tokenizer专门用于分词的库
//使用简单易用的方法把字符串分割若干个,CSV那个文件是不是可以分割
//xpressive(正则表达式)
return 0;
}
boost库文本处理回顾20200908
最新推荐文章于 2022-04-24 17:43:10 发布