typedef vector t_VecSplit;
void C_SplitString( t_VecSplit& ary,const char * str,const char* splt )
{
if (*str==0||*splt == 0)
{
return;
}
//clear
ary.clear();
char target[64] = {0};
Value sStr;
int i = 0;
while (true)
{
if (*str==0)
{
target[i] = 0;
sStr = target;
if (!sStr.isNull())
{
ary.push_back(sStr);
}
break;
}
if (*str==*splt)
{
target[i] = 0;
sStr = target;
if (!sStr.isNull())
{
ary.push_back(sStr);
}
str++;
i = 0;
}else
{
target[i++] = *(str++);
}
}
return;
}
void C_SplitUtf8(t_VecSplit& ary,const std::string& str,const char* splt)
{
ary.clear();
std::string _str = str;
Value _target;
int _index = 0;
do
{
_index = _str.find(splt);
if (string::npos==_index)
{
_target = _str.substr( 0, _str.length() );
ary.push_back(_target);
break;
}
_target = _str.substr(0,_index);
_str.erase(0,_index+1);
ary.push_back(_target);
} while (true);
}