高效实现 std::string split() API

Qt下 QString 实现了split()函数,而std::string则没有实现,STL中也没有实现,只能自己写一个了。

#include 
#include 
using namespace std;

 vector split(string strtem,char a)
    {
        vector strvec;

        string::size_type pos1, pos2;
        pos2 = strtem.find(a);
        pos1 = 0;
        while (string::npos != pos2)
        {
                strvec.push_back(strtem.substr(pos1, pos2 - pos1));

                pos1 = pos2 + 1;
                pos2 = strtem.find(a, pos1);
        }
        strvec.push_back(strtem.substr(pos1));
        return strvec;
    }


你可能感兴趣的:(STL,C/C++,stl,split)