您的位置:首页 > 编程语言 > C语言/C++

C++分割字符串

2014-01-22 10:10 288 查看
C++分割字符串

"100,100;500,500;300,300;150,150;30,30"

static void split(const string& src, const string& separator, vector<string>& dest)
{
string str = src;
string substring;
string::size_type start = 0, index;

do
{
index = str.find_first_of(separator,start);
if (index != string::npos)
{
substring = str.substr(start,index-start);
dest.push_back(substring);
start = str.find_first_not_of(separator,index);
if (start == string::npos) return;
}
}while(index != string::npos);

//the last token
substring = str.substr(start);
dest.push_back(substring);
}


//调用
vector<string> vecData;
CXCommon::split(CCXmlReader::getXMLNodeAttribStrs(pItemNode, "data"), string(";"), vecData);
for (unsigned int i = 0; i < vecData.size(); i++)
{
vector<string> vecPos;
CXCommon::split(vecData[i], string(","), vecPos);
if (!vecPos.empty())
{
mapInfo.foundationPos.push_back(CCPoint(atof(vecPos[0].c_str()), atof(vecPos[1].c_str())));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: