分割函数split Life is but a span.
//调用std::vector<std::string>类型的数组对象,不用retain不用release
std::string heroCharacterStr = heroItemElement->FirstChild()->Value();
std::vector<std::string> result = split(heroCharacterStr.c_str(), ",");
std::vector<std::string>::iterator it = result.begin();
for (it = result.begin(); it != result.end(); it++) {
int cId = CCString::create(*it)->intValue();
if (cId > 0) {
NCharacter *character = NCharacter::createCharacterWithId(cId, ConchGame::data->xmlCharacter);
if(character){
characters->addObject(character);
}
}
}
//split字符串分割函数
std::vector<std::string> split(const char *string, const char *patternStr)
{
std::string str = string;
std::string pattern = patternStr;
std::string::size_type pos;
std::vector<std::string> result;
str+=pattern; //扩展字符串以方便操作
int size=str.size();
for(int i=0; i<size; i++)
{
pos=str.find(pattern,i);
if(pos<size)
{
std::string s=str.substr(i,pos-i);
result.push_back(s);
i=pos+pattern.size()-1;
}
}
return result;
}
blog comments powered by Disqus