c++字符串高效分割方法(stl)
张小强 2012年10月
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小时内删除。
发表评论