按照标识符分割字符串,分割好的字段保存至数组,贴出示例代码:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
std::vector<std::wstring> split_string(std::wstring &szInput, std::wstring &szToken)
{
std::vector<std::wstring> result;
int pos = 0;
int begin = 0;
const int size = szToken.size();
while(true)
{
if ((pos=szInput.find(szToken,begin))==std::wstring::npos)
{
result.push_back(szInput.substr(begin));
return result;
}
result.push_back(szInput.substr(begin, pos-begin));
begin = pos + size;
}
}
int main ()
{
wstring szInput = L"hello$yy.com$this$is$test$by$kandy";
std::vector<wstring> data = split_string(szInput, wstring(L"$"));
for (int i=0; i<data.size(); ++i)
{
wcout << data[i].c_str() << endl;
//printf("%ls\r\n", data[i].c_str());
}
return 0;
}