4.0以后Array不能用了,请帮我看看这个函数怎么改

StringUtil.h
class StringUtil :public Ref
{
public:
static StringUtil* sharedStringUtil();
virtual bool init();

/*参数1要分割的字符串,参数2分隔符*/
Array* split(const char* srcStr, const char* sSep);

private:
static StringUtil* m_StringUtil;
};

StringUtil.cpp

#include “AllRef/StringUtil.h”

StringUtil* StringUtil::m_StringUtil = NULL;

bool StringUtil::init()
{
return true;
}

StringUtil* StringUtil::sharedStringUtil()
{
if (m_StringUtil == NULL)
{
m_StringUtil = new StringUtil();
if (m_StringUtil&&m_StringUtil->init())
{
m_StringUtil->autorelease();
}
else
{
CC_SAFE_DELETE(m_StringUtil);
m_StringUtil = NULL;
}
}
return m_StringUtil;
}

CCArray* StringUtil::split(const char* srcStr, const char* sSep)
{
CCArray* stringArr = CCArray::create();

//CCString* str = CCString::create(srcStr);

std::string str = srcStr;

int size = strlen(srcStr);

int istartpos = 0;
int iendpos = 0;

iendpos = str.find(sSep);


std::string strSingle;
/*将分割的字符串添加到容器里面*/
while (iendpos > 0)
{

	strSingle = str.substr(istartpos, iendpos);

	stringArr->addObject(CCString::create(strSingle));


	str = str.substr(iendpos + 1, size);

	iendpos = str.find(sSep);

	size = str.size();
}

if (str.compare("") != 0)
{
	stringArr->addObject(CCString::create(str));
}

return stringArr;

}

//里面array和CCString都不能用了,但是我不会改:cry:

这不就是分割字符串么,c++的发一个给你

//字符串分割函数
std::vectorstd::string Util::splitString(const std::string& str, const std::string& pattern)
{
std::string::size_type pos;
std::vectorstd::string result;
int size = str.length();
size_t i = 0;
while (true)
{
pos = str.find(pattern, i);
if (pos != std::string::npos)
{
std::string s = str.substr(i, pos - i);
result.push_back(s);
i = pos + pattern.size();
}
else if (pos != size)
{
std::string s = str.substr(i, size);
if (!s.empty())
result.push_back(s);
break;
}
else
{
break;
}
}
return result;
}

谢谢,以前没用过这个,突然用到找例子都是老的了,所以用不了,我先试试,非常感谢

谢谢,开始不能用,最后才发现在论坛上复制粘贴以后尖括号里面的东西会不见,暂时我用【】表示
把我看到的你给我的代码加上括号就可以用了,非常感谢,同时感觉坑好多呀
std::vector【std::string】 Util::splitString(const std::string& str, const std::string& pattern)

我是项目上直接拷出来的没咋动,后面想给你改一下,断电了

重点是里面的,函数类只是封装,说明你c++基础还不够扎实

谢谢,我没有任何基础,做游戏都是照猫画虎,用到了什么就学一下