boost 库,split函数介绍

今天看caffe库, 在caffe.cpp 中看到boost库中split函数,今天特意总结一下这个函数用法。

在caffe.cpp的使用如下:

// Load the weights from the specified caffemodel(s) into the train and
// test nets.
void CopyLayers(caffe::Solver<float>* solver, const std::string& model_list) {
  std::vector<std::string> model_names;
 <span style="background-color: rgb(255, 0, 0);"> boost::split(model_names, model_list, boost::is_any_of(",") );</span>
  for (int i = 0; i < model_names.size(); ++i) {
    LOG(INFO) << "Finetuning from " << model_names[i];
    solver->net()->CopyTrainedLayersFrom(model_names[i]);
    for (int j = 0; j < solver->test_nets().size(); ++j) {
      solver->test_nets()[j]->CopyTrainedLayersFrom(model_names[i]);
    }
  }
}

这个库的详细使用如下:

工程中使用boost库:(设定vs2010环境)
在Library files加上 D:\boost\boost_1_46_0\bin\vc10\lib
在Include files加上 D:\boost\boost_1_46_0

使用举例:

[cpp]  view plain copy
  1. // boostTest.cpp : 定义控制台应用程序的入口点。  
  2. #include "stdafx.h"  
  3.   
  4. #include <iostream>     
  5. #include <boost/format.hpp>     
  6. #include <boost/tokenizer.hpp>     
  7. #include <boost/algorithm/string.hpp>     
  8.   
  9. int _tmain(int argc, _TCHAR* argv[])    
  10. {    
  11.     std::wcout.imbue(std::locale("chs"));    
  12.     //待分割的字符串     
  13.     std::wstring strTag = _T("I Come from China");    
  14.   
  15.     std::vector<std::wstring> vecSegTag;    
  16.     // boost::is_any_of这里相当于分割规则了     
  17.     boost::split(vecSegTag, strTag,boost::is_any_of(_T(" ,,")));  
  18.   
  19.     for (size_t i  =0;i<vecSegTag.size();i++)    
  20.     {    
  21.         std::wcout<<vecSegTag[i]<<std::endl;    
  22.     }    
  23.   
  24.     vecSegTag.clear();    
  25.     std::wstring strTag2 = _T("我叫小马,你呢,今天天气不错,我很高兴");    
  26.     boost::split(vecSegTag, strTag2, boost::is_any_of(_T(" ,,")));    
  27.   
  28.     for (size_t i  =0 ; i<vecSegTag.size(); i++)  
  29.     {    
  30.         std::wcout<<vecSegTag[i]<<std::endl;  
  31.     }   
  32.   
  33.     getchar();    
  34.     return 0;    
  35. }  

 使用boost库 写程序特别方便。

你可能感兴趣的:(boost 库,split函数介绍)