c++字符串高效分割方法(stl)
                            张小强 201210
                              qq:1532589421
工作中处理3dxml模型数据文件时遇到长串数据以逗号和空格分隔,提取数据需要分割(split)字符串,由于c++没有提供现成的库来操作,网上的写法普遍有些低效,对于分析大型文件是不太够的,所以抽时间写了个split函数,是利用stl库的,本函数为原创,请使用时内心里感谢一下我吧~
头文件:
split.h
#ifndef SPLIT_H_H_H
#define SPLIT_H_H_H
#include <vector>
#include <string>
void split(const std::string& s,
                              const std::string& delim,
                              std::vector<std::string>* ret);
#endif
源文件
split.cpp
#include "split.h"
#include <vector>
#include <string>
void split(const std::string& s,
          const std::string& delim,
          std::vector<std::string>* ret)
{
    size_t last = 0;
    size_t index=s.find_first_of(delim,last);
    while (index!=std::string::npos)
    {
        ret->push_back(s.substr(last,index-last));
        last=index+1;
c 字符串截取        index=s.find_first_of(delim,last);
    }
    if (index-last>0)
    {
        ret->push_back(s.substr(last,index-last));
    }
}
使用指南
此函数接口为split(const std::string& s,const std::string& delim,std::vector<std::string>* ret)
s为待分割的字符串,delim为分割符,ret要求传入指针得到vector

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。