把boost压缩包解压后添加到项目属性->c++ general
1.boost 中的tokenizer的用法(利用tokenizer实现分词 例如 abcd.cdab 可划分为abcd 和cdab)
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
tokenizer tokens(_key, boost::char_separator<char>("."));
for (tokenizer::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter)
{
list.push_back(*tok_iter) ;
}
2.boost中的lexical_cast的使用
#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
using std::cout;
using std::endl;
int i;
try{
i = boost::lexical_cast<int>("abcd");//错误用法
const double d = 123.12;
string s = boost::lexical_cast<string>(d);//正确用法
}
catch(boost::bad_lexical_cast& e)
{
cout<<e.what()<<endl;
return 1;
}
cout<<i<<endl;
return 0;
}
显然“abcd”并不能转换为一个int类型的数值,于是抛出异常,捕捉后输出“bad lexical cast:
source type value could not be interpreted as target”这样的信息。